前端项目实战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

 

最后转换为数组对象 通过数据处理

posted @ 2022-10-22 17:03  前端导师歌谣  阅读(36)  评论(0)    收藏  举报