如果从数据库中传来了很多未知的数据,现在要把这些数据已3为分界线生成二维数组。这个怎么写呢?
let models = res.json().data.listRows;//后台的数据
console.log(models)
let iszell=models.length%3;
let pageye=0;
if(iszell==0)
{
pageye=Math.round(models.length/3); //求要显示多少屏
}
else
{
pageye=Math.ceil(models.length/3); //求要显示多少屏,ceil是向上取整
}
console.log(pageye)
let pageArray=new Array();//数组下标从零开始
let yeshuyu=new Array(); //3不完整的数组
console.log(pageArray)
for(let j=0;j<pageye;j++){ //声明多个数组
//如果是倒数第一个
if(j==pageye-1)
{
//说明有的不是3的倍数
for(let k=0;k<(models.length-j*3);k++){
yeshuyu.push(models[j*3+k]); //关键在于push
}
}
if(j!=pageye-1)
{
let yeshuzu=new Array([3]); //3完整的数组
for(let i=0;i<3;i++)
{
yeshuzu[i]=models[Math.round(j*3)+i];
}
pageArray.push(yeshuzu);
}
}
pageArray.push(yeshuyu);
this.thpageArray=pageArray; //赋值属性,方便html使用
关键的几点,总结一下。先除以3得到一维数组,然后在一位数组中再添加3条记录的数组。关键词push。
swiper创建锚点,返回到离开时的页面。
swiper.slideTo(sessionStorage.getItem("index"),0.1,false); //关键在于index