📅  最后修改于: 2023-12-03 14:52:56.117000             🧑  作者: Mango
当涉及到处理嵌套数组时,我们可能需要在循环中推送相互的数组元素。在JavaScript中,我们可以使用嵌套循环和push()方法来实现这一目标。
假设我们有两个嵌套数组array1
和array2
,我们的目标是将array2
中的每个元素推送到array1
的每个子数组中。
const array1 = [[1, 2], [3, 4], [5, 6]];
const array2 = [7, 8, 9];
// 在array1每个子数组中推送array2的元素
for (let i = 0; i < array1.length; i++) {
for (let j = 0; j < array2.length; j++) {
array1[i].push(array2[j]);
}
}
以上代码将在array1
的每个子数组中推送array2
的元素。最终,array1
将变为[[1, 2, 7, 8, 9], [3, 4, 7, 8, 9], [5, 6, 7, 8, 9]]
。
array1
的每个子数组。array2
的每个元素。array2
的当前元素添加到array1
的当前子数组中。array1
的每个子数组的长度和array2
的长度相同,否则会导致推送的元素不均匀。array1
的元素将改变原始数组,如果需要创建副本,可以使用Array.from()
或扩展运算符。const array1 = [[1, 2], [3, 4], [5, 6]];
const array2 = [7, 8, 9];
// 创建array1的副本
const array1Copy = Array.from(array1);
for (let i = 0; i < array1Copy.length; i++) {
for (let j = 0; j < array2.length; j++) {
array1Copy[i].push(array2[j]);
}
}
console.log(array1Copy); // [[1, 2, 7, 8, 9], [3, 4, 7, 8, 9], [5, 6, 7, 8, 9]]
console.log(array1); // [[1, 2], [3, 4], [5, 6]]
以上代码中,我们首先创建了array1
的副本array1Copy
,然后修改array1Copy
的元素。这样,原始数组array1
保持不变。
这就是如何在JavaScript中在数组嵌套循环中推送相互数组元素的方法。
注意:以上代码仅为示例,实际应用中根据具体需求进行适当调整。