天天看点

前端项目实战66-数组数据处理详解

let obj = {
            "color-1": "1",
            "color-2": "2",
            "color-3": "3",
            "geyao-1": "1",
            "geyao-2": "2",
            "geyao-3": "3"
        }

         function myFunc(obj) {
           
            const newObj = {}
            console.log(Object.entries(obj),"Object")
            for (const [key, value] of Object.entries(obj)) {
                const strList = key.split('-')
                const groupId = strList.pop() // 拿到最后一个"-"之后的字符
                console.log(groupId,"groupId")
                const keyName = strList.join('') // 最后一个"-"之前的所有字符再加起来(理论上如果只有一个"-"可以直接key.split('-')[0]和key.split('-')[1])
                console.log(keyName,"keyName")
                //如果存在这个不存在 就创建一个对象 否则将当前的值传入这个对象
                if (!newObj[groupId]) {
                    newObj[groupId] = {}
                }
                newObj[groupId][keyName] = value
            }
            console.log(newObj,"newObj")
            return Object.values(newObj)
        }      
//如果存在这个不存在 就创建一个对象 否则将当前的值传入这个对象
                if (!newObj[groupId]) {
                    newObj[groupId] = {}
                }
                newObj[groupId][keyName] = value      
前端项目实战66-数组数据处理详解