Javascript 为对象动态添加值
Javascript add values to object dynamically
假设我有这样的东西:
$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
}];
如果我在 obj.data 中始终只有 2 个项目,此方法有效。
现在,如果我想在 For 循环中动态添加值,我该怎么做?
我试过类似的方法,但没有用:
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};
}
你能试试这个吗?
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
}
有一个错误:将 data.length
替换为 obj.data.length
。
此外,您可以使用 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});
}
假设我有这样的东西:
$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
}];
如果我在 obj.data 中始终只有 2 个项目,此方法有效。
现在,如果我想在 For 循环中动态添加值,我该怎么做?
我试过类似的方法,但没有用:
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};
}
你能试试这个吗?
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
}
有一个错误:将 data.length
替换为 obj.data.length
。
此外,您可以使用 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});
}