Javascript推入两个for循环覆盖数组
我想循环一个对象数组和另一个数组来创建一个新数组Javascript推入两个for循环覆盖数组,javascript,loops,push,Javascript,Loops,Push,我想循环一个对象数组和另一个数组来创建一个新数组 This.wholeWeek = [{test: "1"}, {test2: "2"}, {test3: "3"}] This.courtData = [1, 2, 3] 因此,我希望得到: [{test: "1", court: 1}, {test: "1", court: 2}, {test: "1", court: 3}, {test2: "2", court: 1}, {test2: "2", court: 2}, {test2: "
This.wholeWeek = [{test: "1"}, {test2: "2"}, {test3: "3"}]
This.courtData = [1, 2, 3]
因此,我希望得到:
[{test: "1", court: 1}, {test: "1", court: 2}, {test: "1", court: 3}, {test2: "2", court: 1}, {test2: "2", court: 2}, {test2: "2", court: 3}, {test3: "3", court: 1}, {test3: "3", court: 2}, {test3: "3", court: 3}]
代码:
非常感谢您的帮助!谢谢大家! 你能试试这个代码吗:
let arr = [{test: "1"}, {test2: "2"}, {test3: "3"}];
let arr_1 = [1, 2, 3];
let result = [];
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr_1.length; j++) {
let obj = JSON.parse(JSON.stringify(arr[i])); // copy of object
obj.court = arr_1[j];
result.push(obj);
}
}
让arr=[{test:1},{test2:2},{test3:3}];
设arr_1=[1,2,3];
让结果=[];
for(设i=0;i
你应该复制一个对象。你得到了这个结果,因为你在第一个数组中不断地更改对象。你需要在修改它之前复制一个
这个。wholeWeek[i]
。啊,我的错。这可以删除,如果需要,因为它是一个大的重复!谢谢大家!!
[{test: "1", court: 3}, {test: "1", court: 3}, {test: "1", court: 3}, {test2: "2", court: 3}, {test2: "2", court: 3}, {test2: "2", court: 3}, {test3: "3", court: 3}, {test3: "3", court: 3}, {test3: "3", court: 3}]
let arr = [{test: "1"}, {test2: "2"}, {test3: "3"}];
let arr_1 = [1, 2, 3];
let result = [];
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr_1.length; j++) {
let obj = JSON.parse(JSON.stringify(arr[i])); // copy of object
obj.court = arr_1[j];
result.push(obj);
}
}