如何能让一维数组转换成二维数组

分析

接口给我们的数据是一个一维数组[{}, {}, {},{},{},{},{},{}],为了方便轮播图使用,我们把4件商品分成一组,一组是一个单位来填充轮播的一屏。

 二维数组转换成一维数组([1,1],[2,2],[3,3] 转换成 [1, 1, 2, 2, 3, 3]) 

 slice()方法

// 得到需要的数据: 把一维数组转成二位数组
// 转换前:[1,2,3,4,5,6,7,8]  
// 取size=4; 4个一组  
// 转换后:[[1,2,3,4], [5,6,7,8]] 
findRelGoods(id).then(data => {

  const size = 4 // 每页4条
  const total = Math.ceil(data.result.length / size) // 总页数
                //Math.ceil向上取整
  for (let i = 0; i < total; i++) {
    const t = data.result.slice(i * size, (i + 1) * size)
    sliders.value.push(t)
  }
})

一维数组转换成二维数组 

apply()方法

let arr =[[1,1],[2,2],[3,3]];
let onearr=[].concat.apply([],arr)
console.log(onearr)
//[1, 1, 2, 2, 3, 3]

flat()方法

let arr =[[1,2],[3,4]];
let onearr=arr.flat()
console.log(onearr)
// [1, 2, 3, 4]