一维数组拆分二维数组保存

方法一:

let arr=[
  {name:"gz1"},
  {name:"gz2"},
  {name:"gz3"},
  {name:"gz4"},
  {name:"gz5"},
  {name:"gz6"},
  {name:"gz7"}
]

let num=Math.ceil(arr.length/2)
let newArr=[]
for(let i=0;i<num;i++){
  newArr[i]=new Array()
}
let currIndex=0

arr.forEach((item,index)=>{
  if(index%2==0 && index!=0){
     currIndex++
  }
  //console.log(currIndex)
  newArr[currIndex].push(item)
 
})
console.log(newArr)

方法二

const arr = [1, 2, 3, 4, 5, 6, 7, 8]
const len = arr.length  //len为数组的长度
const n = 4 // 假设每行显示4个
const Num = len % 4 === 0 ? len / 4 : Math.floor((len / 4) + 1)  //得出多少份
const res = [] //定义数组接受最终的数据
for (let i = 0; i < Num; i++) {
  // slice() 方法返回一个从开始到结束(不包括结束)的数组。且原始数组不会被修改。
  const newArr = arr.slice(i * n, i * n + n) //得到每份的数据
  res.push(newArr) //往res数组里加数据
}
console.log(res, '二维数组')

你可能感兴趣的:(javascript,前端,开发语言)