Здравствуйте. Есть одномерный массив объектов в которых хранится информация о баннерных изображениях на сайте. Например 4 элемента:
images = [
[0] => Object {src : path, size : '256x256'},
[1] => Object {src : path, size : '128x128'},
[2] => Object {src : path, size : '256x256'},
[3] => Object {src : path, size : '128x128'},
]
Мне нужно создать многомерный массив сгруппировав по ключу (size).
Что бы получилось:
result = [
[256x256] => [
[0] => 'src_img1',
[1] => 'src_img3'
]
[128x238] => [
[0] => 'src_img2',
[1] => 'src_img4'
]
]
Я делаю примерно вот так:
for (var i in images){
result[images[i].size] = [];
result[images[i].size][i] = images[i].src;
}
В таком случае в каждом из массивов ключи выглядят вот так:
result = [
[256x256] => [
[0] => 'src_img1',
[1] => 'src_img3'
]
[128x238] => [
[2] => 'src_img2', <-- неверная индексация
[3] => 'src_img4'
]
]
Подскажите пожалуйста, каким образом можно построить этот массив, что бы индексация в каждом одиночном массиве начиналась с нуля?
result = {}
for (var i in images){
// чтоб не затирать массив, создаем только если его нет
if (! result[images[i].size]) result[images[i].size] = []
result[images[i].size].push(images[i].src);
}
// { '256x256': [ '1', '3' ], '128x128': [ '2', '4' ] }
Элементарно, Ватсон. Воспользуйтесь методом push
for (var i in images){
result[images[i].size] = [];
result[images[i].size].push(images[i].src);
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно создать регулярное выражение для проверки URL
не могу найти и удалить майнер который лежит в bodyкак он попал на сайт не понятно