如何向数组中的对象添加新属性?

时间:2017-10-19 08:50:06

标签: javascript

    var fruits = [];
        fruits[0] = {name:"apple", stock:"1box"}
        fruits[1] = {name:"banana", stock:"2box"}
        fruits[2] = {name:"banana", stock:"3box"}

所以在这个对象的情况下 是否有任何简单的方法在列表中添加新字段? 例如

fruits[0] = {name:"apple", stock:"1box", **taste:"good"**}
像这样。

我尝试创建新模板并复制原始数据并粘贴到新模板,例如

function fruit_2(name, stock, taste){
this.name = name;
this.stock = stock;
this.taste = taste;
}//create new template

并将水果[0]中的元素重新添加,然后将水果[1]重新添加到新模板

但我想知道是否有更容易或更快的方式。

感谢您阅读我的问题。

我将不胜感激任何帮助!谢谢!

3 个答案:

答案 0 :(得分:3)

我向每个对象添加taste元素,并使用值"good"+ index of the element填充它。这是一个简单的演示:



var fruits = [];
fruits[0] = {name:"apple", stock:"1box"};
fruits[1] = {name:"banana", stock:"2box"};
fruits[2] = {name:"banana", stock:"3box"};
        
for(var index=0;index<fruits.length;index++){

    fruits[index].taste="good "+index;

}

console.log(fruits);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

最简单的追加方式是使用:

fruits[0]["taste"] = "good";

或:

fruits[0].taste = "good";

答案 2 :(得分:0)

为数组中的每个元素添加属性到现有对象的最简单方法是对数组进行迭代,并使用

将属性设置为所需的值
element[index].desiredProperty = desiredValue;

例如,请参阅以下小提琴:https://jsfiddle.net/to70xe4j/1/