为了账号安全,请及时绑定邮箱和手机立即绑定

如何把对象数组进行切割,变成四个为一组的对象数组

如何把对象数组进行切割,变成四个为一组的对象数组

慕森王 2019-05-21 16:54:29
eg:letarr=[{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3}];如何让数组arr得到这个结果[{[{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3}]},{[{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3}]},{[{a:1,b:2,c:3},{},{},{}]}];刚开始是9,转换成4个一组,不足的用{}空对象补全?
查看完整描述

2 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

想要几个为一组就把sliceNum改为几~~
constarr=[{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3}]
constlen=arr.length
letresult=[]
constsliceNum=4
for(leti=0;iresult.push(arr.slice(i*sliceNum,(i+1)*sliceNum))
}
for(letj=0;j<(sliceNum-len%sliceNum);j++){
result[result.length-1].push({})
}
console.log(result)
                            
查看完整回答
反对 回复 2019-05-21
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

letarr=[{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3}];
varresult=newArray()
for(vari=0;ivartmp=newArray()
for(varj=0;j<4;j++){
if((i+j)>=arr.length){
tmp.push({})
continue
}
tmp.push(arr[i+j])
}
result.push({tmp})
}
console.log(result)
                            
查看完整回答
反对 回复 2019-05-21
  • 2 回答
  • 0 关注
  • 604 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信