数组操作[{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)
posted @ 2021-09-28 10:47  light丶  阅读(143)  评论(0)    收藏  举报