js将一维数组重组为二维数组

问题

遇到问题:在渲染界面时,我们需要的是二维数组,但是后台给我传过来的数据是一维数组,这时,我们需要将一维数组转换为二维数组。
这种情况一般在我们需要将后台传过来的数据进行分页显示时使用

技术

循环+splice

splice

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目
注释:该方法会改变原始数组。

举例:

1.先根据后台拿到的一维数组计算出要分几页,这里每页显示3条数据
首先将我们要循环的数据初始定义为:listdata

//data  后台传过来的数据
var num=Math.ceil(data.length/3)
//得到总的分页数num

2.根据拿到的num页数进行循环,并且每循环一次从data中截取3条数据,存到listdata中

for(var i=0;i<num;i++){
  listdata.push(data.splice(0,3))
}

这样操作之后,就会将data中的数据变为二维数组存到listdata中了。
效果如:

data:[{name:"lisi",age:22},{name:"lisi",age:22},{name:"lisi",age:22},{name:"lisi",age:22},{name:"lisi",age:22},{name:"lisi",age:22},{name:"lisi",age:22},{name:"lisi",age:22},]

这里数据少长度为8,设定每页存三个,将会生成三页,

listdata:[
	[{name:"lisi",age:22},{name:"lisi",age:22},{name:"lisi",age:22}],
	[{name:"lisi",age:22},{name:"lisi",age:22},{name:"lisi",age:22}],
	[{name:"lisi",age:22},{name:"lisi",age:22}]
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值