数组根据某个值来拆分多个数组再合并成一个新数组

一个数组

let arr = [
    {id:1,name:'小白0',type:0},
    {id:2,name:'小白1',type:1},
    {id:3,name:'小白2',type:2},
    {id:4,name:'小白3',type:0},
    {id:5,name:'小白4',type:2},
    {id:6,name:'小白5',type:1},
    {id:7,name:'小白6',type:0},
]

将arr这个数组根据数组成员的type不同分成不同的数组,并且组成新的数组

//需要先定义一个新的数组或者对象
let newList = []
//遍历最初的数组
for(let i = 0 ; i < arr.length ; i++){
    //判断新定义的数组里有没有存在过type的成员
    if(newList[arr[i].type]){
        //如果已经存在了,就根据type的不同直接将arr[i]的成员添加到新数组中
        newList[arr[i].type].push(arr[i])
    }else{
        //如果还没有,就添加进去,并且将成员直接添加进去
        //[arr[i]]==>表示空,并且向里面添加arr[i]成员
        newList[arr[i].type] = [arr[i]]
    }
}
//输出结果
console.log(newList)
[
    [
        {id:1,name:'小白0',type:0},
        {id:4,name:'小白3',type:0},
        {id:7,name:'小白6',type:0},
    ],
    [
        {id:2,name:'小白1',type:1},
        {id:6,name:'小白5',type:1},
    ],
    [
        {id:3,name:'小白2',type:2},
        {id:5,name:'小白4',type:2},
    ]
]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容