如何在现有的javascript对象中推送新的键值对?

时间:2017-08-07 16:46:09

标签: javascript arrays

我已经定义了这样的对象数组:

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

现在我想在选项中插入新的键值对:

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

我尝试通过push()方法实现它,但我猜它只适用于Array。请帮帮我。非常感谢你提前。 :) 此外,是否可以将这些键对值推送到这些对象数组的某个索引处。

2 个答案:

答案 0 :(得分:2)

这应该有效,

this.choices.push({id: 10,product: [{id:'5'}]});

答案 1 :(得分: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是针对数组的。