computed:{
categoryArr() {
//获取到foods
const {foods} = this
//准备二维数组
const arr = [];
let minArr = [];
//遍历foods
foods.forEach(category => {
//如果小数组满了,创建一个新的小数组(所以上班创建minArr不用const而是用let)
if(minArr.length === 8){
minArr = [];
}
//如果minArr是空的,将小数组保存到大数组中
if(minArr.length === 0){
arr.push(minArr)
}
//将当前分类数据保存到小数组中
minArr.push(category)
});
return arr;
}
}
在minArr长度为0的时候push到二维数组每次不都应该push了一个空数组过去吗
1、新建一个minArr数组
2、此时minArr长度是0,存入arr数组中。
3、每次循环,都往minArr中保存一个数据。
4、minArr长度等于8,也就是arr的第一个元素的长度等于8。
5、此时,再重新给minArr创建一个数组。
6、此时新数组长度是0
7、在重复步骤2。一直循环到结束为止
[[]]→[[1]]→[[12]]→[[1,2,3]]→[[1,2,3,4]]→[[1,2,3,4,5]]→[[1,2,3,4,5,6]]→[[1,2,3,4,5,6,7]]→[[1,2,3,4,5,6,7,8]]→[[1,2,3,4,5,6,7,8],[]]→[[1,2,3,4,5,6,7,8],[1]]→[[1,2,3,4,5,6,7,8],[1,2]]→。。。