例如,我的对象如下所示。
我已经推了这些
for(var i = 0; i < result.length ; i++){
engagaement.push(result[i].engagement);
engagementPercentage.push(result[i].engagementPercentage);
name.push(result[i].name);
sovId.push(result[i].sovId);
volume.push(result[i].volume);
volumePercentage.push(result[i].volumePercentage);
}
var test3way = [
{y: engagementPercentage[0], numData : engagaement[0], id: sovId[0]},
{y: engagementPercentage[1], numData : engagaement[1], id: sovId[1]},
{y: engagementPercentage[2], numData : engagaement[2], id: sovId[2]},
{y: engagementPercentage[3], numData : engagaement[3], id: sovId[3]},
{y: engagementPercentage[4], numData : engagaement[4], id: sovId[4]}
]
我尝试使用for循环来防止重复
for(var i = 0; i < engagementPercentage.length ; i++){
var test3way = [
{
y: engagementPercentage[i],
numData : engagaement[i],
id: sovId[i]
},
]
}
但它看起来并不像我正确的做法,我该如何纠正呢?
P.S考虑这些数组看起来像var sovId = [1,56,23]
答案 0 :(得分:2)
您的代码仅多次定义test3way
变量,并且每次循环迭代时都具有不同的属性值。你可以尝试阵列推送。
var test3way = [];
for (let i = 0; i < engagementPercentage.length ; i++) {
test3way.push({
y: engagementPercentage[i],
numData : engagement[i],
id: sovId[i]
});
}
另外在旁注中,您应该将let i
而不是var i
写为for循环迭代器,以便范围仅在循环内。