Страницы

Поиск по вопросам

вторник, 28 января 2020 г.

Аналог push() для объектов

#массивы #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"}

Комментариев нет:

Отправить комментарий