Массив
Есть разреженный массив:
PHP код:
PHP код:
PHP код:
А теперь вопрос: Есть ли оптимальный способ получить все элементы с их индексами из массива (без свойств), не перебирая весь массив таким образом: PHP код:
|
Ответ: Массив
Вообще присваивать свойства массиву - очень плохая затея, очень очень.
Если тебе нужно присвоить свойство, то тогда лучше подумай над враппером над массивом: Код:
function list() { Я не понял вопроса полностью, ты спрашиваешь как получить все индексы и значения, при этому не хочешь по ним пробегаться.. Лучше скажи чего ты хочешь добиться. |
Ответ: Массив
Мой пример выше находит всего два значения в массиве, но чтобы их получить надо перебрать 21 итерацию цикла (пройтись от 0 до 20).
В данный момент я пишу бинарную сериализацию (бинарный TCP протокол), и мне надо иметь аналог из C# типа Dictionary<byte,object>. Т.к. js уже имеет разреженные массивы из коробки, то мне хотелось их использовать для этой задачи. Свойство мне нужно, чтобы указать сериализатору, что данный массив надо сериализовать как коллекцию Dictionary<byte,object>. Собственно мой пример выше решает задачу, но вдруг есть решение оптимальнее. Сейчас я это делаю так: PHP код:
PHP код:
|
Ответ: Массив
Как в jQuery/JS делается многомерный массив по типу блитзовского (dim (0,0)?
Где первый массив допустим id, а во втором массиве строки которые принадлежат к этому id, которых может быть от от 0 до N. --upd--- Ответ оказался замудренным. Код:
var arr = [0]; |
Ответ: Массив
Есть два основных типа объектов для хранения "списков", индексированный (array) и key<>value (object).
Звучит что ты хочешь иметь ID как key, а value - массив. Что-то типа: PHP код:
Если ты пишешь v = [0] - то это создаст массив с 1 элементом, по 0му индексу. |
Ответ: Массив
Цитата:
PHP код:
В js такого нет и делается как то через .опу. И код что я выше добавил как то странно работает хотя по идее должен работать как двумерный массив. |
Ответ: Массив
Ты тупишь. То что я тебе предложил, является двумерным массивом где первый массив идёт по ID, а второй по индексу.
Если тебе двумерный массив с индексами 8x8 (64), то так: PHP код:
PHP код:
|
Часовой пояс GMT +4, время: 21:31. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot