要求:
把一個數組arr按照制定的數組大小newArrLength分割成若干個數組塊。
樣本:
changeArrGroup([1,2,3,4,5,6,7,8,9],3) 返回 [[1,2,3],[4,5,6],[7,8,9]]
changeArrGroup([1,2,3,4,5,6,7],2) 返回[[1,2],[3,4],[5,6],[7]]
算法:提供兩種
方法一
function changeArrGroup (arr, newArrLength) {
let changeIndex = 0;
let secondArr = [];
while (changeIndex < arr.length) {
secondArr.push(arr.slice(changeIndex, changeIndex+=newArrLength))
}
return secondArr;
}
console.log(changeArrGroup([1,2,3,4,5,6,7,8,9],3));
方法二
function changeArrGroup (arr, newArrLength) {
let secondArr = [];
for (let i = 0; i < arr.length; i+=newArrLength) {
let tempArr = [];
for (let j = 0; j < newArrLength && i + j < arr.length; j++) {
tempArr.push(arr[i + j])
}
secondArr.push(tempArr);
}
return secondArr;
}
console.log(changeArrGroup([1,2,3,4,5,6,7,8,9],3));
兩種方法返回的結果
使用場景:
比如將一些東西按照列表的方式排列等等,比如小米商城的列表導航等等,如圖: