数组操作[{img:'1'},{img:'2'}]变为[[{img:'1'},{img:'2'}]]
有个原型数组,需要把其变为嵌套数组
let a = [{img:'1'},{img:'2'},{img:'3'},{img:'4'},{img:'5'},{img:'6'},{img:'7'},{img:'8'},{img:'9'},{img:'10'},{img:'11'}]
变为
[ [{img:'1'},{img:'2'}] , [{img:'3'},{img:'4'}] , [{img:'5'},{img:'6'}] , [{img:'7'},{img:'8'}] , [{img:'9'},{img:'10'}] , [{img:'111'}] ]
多余的一个数组对象变成一个单独的
可以这样使用
//1,判断是否可以被2余为0 //2,然后取整个数组的长度除2,变为一半的长度 //3,通过for循环一半的长度 //4,判断循环的下标是否等于一半的长度减1 //能被余2 ? 获取[数组[下标*2],数组[下标*2+1]]: 获取[数组[下标*2]] //5,否则 //获取[数组[下标*2],数组[下标*2+1]] //循环添加到新数组里 1,let isDe = a.length%2===0 2,let cishu = (a.length/2).toFixed(0) console.log(isDe) 3,for (let i = 0;i<cishu; i++){ console.log(i==cishu-1) let list111 4, if(i == cishu-1){ isDe ?list111 = [a[i*2],a[i*2+1]] :list111 = [a[i*2]] 5, }else{ list111 = [a[i*2],a[i*2+1]] } console.log(list111) list.push(list111) } console.log(list)
或直接这样使用
let a = [{img:'1'},{img:'2'},{img:'3'},{img:'4'},{img:'5'},{img:'6'},{img:'7'},{img:'8'},{img:'9'},{img:'10'},{img:'11'}] let list=[] for(var i=0;i<a.length;i+=2){ list.push(a.slice(i,i+2)); } console.log(list)