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));

两种方法返回的结果

使用场景:

比如将一些东西按照列表的方式排列等等,比如小米商城的列表导航等等,如图:

发布了62 篇原创文章 · 获赞 11 · 访问量 8612

猜你喜欢

转载自blog.csdn.net/qq_38588845/article/details/104127584
今日推荐