简体   繁体   English

JavaScript为对象动态添加值

[英]Javascript add values to object dynamically

Let's supose i have something like this: 让我们假设我有这样的事情:

$scope.playersData =   [{
    "label": obj.data[0].player,
    "color": colors[0],
    "data": obj.data[0].value
}, {
    "label": obj.data[1].player,
    "color": colors[1],
    "data": obj.data[1].value
}];

This works if i have always only 2 items in obj.data. 如果我在obj.data中始终只有2个项目,则此方法有效。

Now, if i want to add values dynamically in a For Loop, how do i do it? 现在,如果我想在For循环中动态添加值,该怎么做?

I tried something like this, not working: 我尝试了类似的方法,但不起作用:

var temparray = [];
for (var i = 0; i < data.length; i++) { 
    temparray[i] = {"label": obj.data[i].player,"color": colors[i],"data": obj.data[i].value};
}

Can you try this? 你可以试试这个吗?

var temparray = [];
for (var i = 0; i < data.length; i++) { 
    var item = {"label": obj.data[i].player,"color": colors[i],"data": obj.data[i].value};
    temparray.push(item);  //. <---added
}

There is one mistake: replace from data.length to obj.data.length . 有一个错误:从data.length替换为obj.data.length

Also, you can use push for adding element to array. 另外,您可以使用push将元素添加到数组。

var temparray = [];
for (var i = 0; i < obj.data.length; i++) { 
    temparray.push({"label": obj.data[i].player,"color": colors[i],"data": obj.data[i].value});
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM