У меня есть массив массивов. Я хочу иметь возможность перебирать каждый массив, и для каждого массива я хочу добавить новые ключи или обновить существующие значения.Как перебрать массив массивов с помощью jQuery?
Вот что у меня есть
var values = [];
values['123'] = [];
values['456'] = [];
values['123']['x1'] = 'value 1';
values['123']['x2'] = 'value 2';
Я хочу перебираем массив значений, а также добавлять новые ключи в массиве для каждого массива. (Т.е. values['123']
и values['456']
)
Вот что я пытался
$.each(values, function(index, value){
value['x1'] = 'new value 1';
value['x10'] = 'new value 10';
value['x20'] = 'new value 20';
console.log(value);
});
Консоль показывает эту ошибку
TypeError: value is undefined
Вот fiddle
Как я могу correcly петлю на каждом массиве и обновить исходный массив?
Это сработало! Не могли бы вы рассказать мне, в чем разница между {} и []? –
@MikeA Здесь ** значения ** инициализируются как объект (см. ** {} **), а не массив. ** $. each() ** функция обрабатывает ** 123 ** & ** 456 ** как ключи в случае объекта, однако в случае массива он обрабатывает их как индексы. Вот почему я добавил значение ** values [index]! == undefined ** в моем коде ниже. –
Большое спасибо за вашу помощь –