Как вставить новую пару ключ-значение в существующий объект JavaScript?

1

Я определил массив объектов примерно так:

  this.choices =  [
        {
            id: 0,
            product: [{id:'0'}] 
        }
        ];

Теперь я хочу вставить новую пару ключ-значение в выбор:

                    [
                    {
                        id: 10,
                        product: [{id:'5'}] 
                    }
                    ]

Я попытался сделать это методом push(), но я предполагаю, что это только для Array. Пожалуйста, помогите мне с этим. Огромное спасибо заранее. :) Кроме того, можно ли нажимать эти значения пары ключей на определенный индекс для этого массива объектов.

  • 0
    как ты пробовал с push?
  • 0
    Я сделал что-то вроде этого: this.choices.push ([{id: '10', product: [{id: '5'}],}]); } Я думаю, что дополнительная квадратная скобка была причиной проблемы.
Теги:
arrays

2 ответа

2

Это должно работать,

this.choices.push({id: 10,product: [{id:'5'}]});
  • 0
    Я пытался сделать то же самое, но я добавил [] после нажатия. Огромное спасибо. :) Bdw Можно ли подтолкнуть эти пары ключей на определенный индекс?
  • 0
    да, вы можете stackoverflow.com/questions/586182/…
Показать ещё 3 комментария
0

Поскольку оба примера представляют собой массивы, содержащие объекты, вы должны использовать concat а не push. то есть;

this.choices =  [
        {
            id: 0,
            product: [{id:'0'}] 
        }
        ];


var newVal =  [
                    {
                        id: 10,
                        product: [{id:'5'}] 
                    }
                    ];


this.choices = this.choices.concat(newVal);

В моем примере, чтобы использовать push, вам нужно будет сделать this.choices.push(newVal[0]) - много способов приблизиться к нему, но в основном, push для отдельных значений, concat - для массивов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню