js 将数组根据类型转换成对象

52 阅读1分钟

原始数据

let data = [
    {
        title: "【卧室】2:",
        orderIndex: 0,
        pictureExplain: null,
        enum: 2
    },
    {
        title: "【卧室】4:",
        orderIndex: 0,
        pictureExplain: null,
        enum: 4
    },
    {
        title: "【卧室】2:",
        orderIndex: 0,
        pictureExplain: null,
        enum: 2
    },
    {
        title: "【卧室】3:",
        orderIndex: 0,
        pictureExplain: null,
        enum: 9
    },

]

思路一: 双重for循环

 const swipeGroup = {};
 data.forEach(item => swipeGroup[item.enum] = [])
 console.log(swipeGroup, 'swipeGroup1')
 for (const item of data) {
     const valueArray = swipeGroup[item.enum];
     valueArray.push(item);
 }

思路二: for循环

const swipeGroup = {};
for (const item of data) {
    let valueArray = swipeGroup[item.enum];
    if (!valueArray) {
        // 当valueArray为undefined的时候,将数组置空
        valueArray = [];
        swipeGroup[item.enum] = valueArray;
    }
    console.log(swipeGroup, 'swipeGroup~~')
    valueArray.push(item)
}