#массивы #javascript #объекты #функции
Всем привет. Сегодня столкнулся с такой проблемой. Мне понадобилось добавлять элементы в ассоциативный массив. На JavaScript нет ассоциативных массивов ,поэтому я сделал как объект. Теперь не могу найти аналог функции push(). Подскажите, если кто-нибудь знает. Спасибо.
Ответы
Ответ 1
вы хотите, чтобы ключами были обычные инкрементирующиеся числа? Не совсем. Первый ключ - какое-то слово, второй ключ - числа. obj['key'] = []; obj['key'].push('value1'); obj['key'].push('value2'); obj['key'][0];// 'value1' obj['key'][1];// 'value2'Ответ 2
Через цикл не сложно заполнить объект по типу ключ - значение из массива. var dataRow = ['string1', 'string2', 'string1']; var obj = {}; $(dataRow).each(function(e, i){ obj[e] = i; }); // e - индекс ячейки в массиве. // i - содержание ячейки, там может быть что угодно. На выходе получим: Object {0: "string1", 1: "string2", 2: "string1"} Или можно так: var dataRow = [{name: 'John', data: "text1"}, {name: 'Mark', data: "text2"}, {name: 'Tom', data: "text3"}]; var obj = {}; $(dataRow).each(function(e, i){ obj[i.name] = i.data; }); На выходе будет: Object {John: "text1", Mark: "text2", Tom: "text3"}
Комментариев нет:
Отправить комментарий