如何将数组 [1,2,3,4,5,6,7,8,9] 切分成三个连续子数组:[1,4,7],[2,5,8],[3,6,9]?

如何将数组 [1,2,3,4,5,6,7,8,9] 切分成三个连续子数组:[1,4,7],[2,5,8],[3,6,9]?

js数组问题:将数组切分成连续子数组

问题:
数组[1,2,3,4,5,6,7,8,9]如何分成三个连续子数组:[1,4,7],[2,5,8],[3,6,9]?

回答:
给出前提:连续子数组。

是否需要连续子数组,这决定了具体实现方法不同。

连续子数组实现方法:

将数组分成三个等长的子数组,每个子数组包含三个连续元素。

const arr = [1,2,3,4,5,6,7,8,9];
const subarrays = [];

for (let i = 0; i < arr.length; i += 3) {
  subarrays.push(arr.slice(i, i + 3));
}

console.log(subarrays); // [[1,2,3],[4,5,6],[7,8,9]]

非连续子数组实现方法(未给出前提):

用三个变量依次表示三个子数组,循环遍历原始数组,根据奇偶性将元素加入相应的子数组。

const arr = [1,2,3,4,5,6,7,8,9];
let subArr1 = [];
let subArr2 = [];
let subArr3 = [];

for (let i = 0; i < arr.length; i++) {
  if (i % 3 === 0) {
    subArr1.push(arr[i]);
  } else if (i % 3 === 1) {
    subArr2.push(arr[i]);
  } else {
    subArr3.push(arr[i]);
  }
}

console.log(subArr1, subArr2, subArr3); // [1,4,7], [2,5,8], [3,6,9]

以上就是如何将数组 [1,2,3,4,5,6,7,8,9] 切分成三个连续子数组:[1,4,7],[2,5,8],[3,6,9]?的详细内容,更多请关注其它相关文章!