📜  如何在数组嵌套循环中推送相互数组元素javascript(1)

📅  最后修改于: 2023-12-03 14:52:56.117000             🧑  作者: Mango

如何在数组嵌套循环中推送相互数组元素 - JavaScript

当涉及到处理嵌套数组时,我们可能需要在循环中推送相互的数组元素。在JavaScript中,我们可以使用嵌套循环和push()方法来实现这一目标。

示例

假设我们有两个嵌套数组array1array2,我们的目标是将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]]

解释
  • 我们使用两个嵌套的for循环,外循环迭代array1的每个子数组。
  • 内循环迭代array2的每个元素。
  • 使用push()方法将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中在数组嵌套循环中推送相互数组元素的方法。

注意:以上代码仅为示例,实际应用中根据具体需求进行适当调整。