javascript將一維數組的分割成多個數組

要求:

把一個數組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));

兩種方法返回的結果

使用場景:

比如將一些東西按照列表的方式排列等等,比如小米商城的列表導航等等,如圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章