JavaScript:使用for循环生成对象
例如,我总共有3个数组,如下所示JavaScript:使用for循环生成对象,javascript,Javascript,例如,我总共有3个数组,如下所示 var arr1 = ['123','456','789']; var arr2 = ['435','551','778']; var arr3 = ['5','7','1']; 我试图将它们存储在一个对象中以供进一步使用 var Chart = ""; for(var i = 0; i < arr1.length ;i++){ Chart = { x :
var arr1 = ['123','456','789'];
var arr2 = ['435','551','778'];
var arr3 = ['5','7','1'];
我试图将它们存储在一个对象中以供进一步使用
var Chart = "";
for(var i = 0; i < arr1.length ;i++){
Chart = {
x : arr1[i],
y : arr2[i],
z : arr3[i]
};
}
var图表=”;
对于(变量i=0;i
我的方法已经完成了这项工作,但当我控制台它并使用它时,它只返回最后一组数据
因此,只有{arr1[2]、arr2[2]、arr3[2]}
被使用,其余的都没有
如何解决这个问题?您在每次迭代中重新分配变量的值,而不是将其初始化为数组并将值推送到它
var arr1=['123','456','789'];
var arr2=['435','551','778'];
var arr3=['5','7','1'];
var图表=[];
对于(变量i=0;i 控制台日志(图表)代码>无法像在以下代码中那样初始化对象
var Chart = "";
它应该像下面这样
var Chart = [];
那么对象属性的赋值如下所示
for (var i = 0; i < arr1.length; i++) {
Chart.push({
x: arr1[i],
y: arr2[i],
z: arr3[i]
});
for(变量i=0;i
最后一段将是
var Chart = [];
for (var i = 0; i < arr1.length; i++) {
Chart.push({
x: arr1[i],
y: arr2[i],
z: arr3[i]
});
var图表=[];
对于(变量i=0;i
在ES6中:
var arr1 = ['123','456','789'];
var arr2 = ['435','551','778'];
var arr3 = ['5','7','1'];
arr1.map((x, i) => ({x, y: arr2[i], z: arr3[i]}))
正如前面的回答中所述,您重新分配了值,并注意如何在下面的代码中初始化对象,请尝试以下操作:
var arr1 = ['123','456','789'];
var arr2 = ['435','551','778'];
var arr3 = ['5','7','1'];
var Chart = {};
for(var i = 0; i < arr1.length ;i++){
Chart['y'+i] = arr1[i];
Chart['x'+i] = arr2[i];
Chart['x'+i] = arr3[i];
}
var arr1=['123','456','789'];
var arr2=['435','551','778'];
var arr3=['5','7','1'];
var-Chart={};
对于(变量i=0;i
在ES6中通过对象分解
var arr1=['123'、'456'、'789'],
arr2=['435'、'551'、'778'],
arr3=['5'、'7'、'1'],
图表={“x”:[],“y”:[],“z”:[]};
图表={arr1,arr2,arr3};
console.log(Chart);
@anson920520:在每次迭代中,您都会使用创建的新对象重新赋值