如何将数组 [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]?的详细内容,更多请关注其它相关文章!