学无先后,达者为师

网站首页 编程语言 正文

给复杂的数组结构数据换key

作者:厚渡 更新时间: 2022-07-09 编程语言

给复杂的数组结构数据换key

        // 数据 的key 是数据的key
        // 而我们要导入 excel 的是 excel 的key

        // 我有一个数据
        // 我不动它的格式 我要改它的key
       let o = [{
            key1: "value1",
            key2: "value2",
            key3: "value3",
            key4: "value4",
            key5: "value5",
            key6: "value6",
            key7: "value7",
            key8: "value8",
            key9: "value9",
        }, {
            key1: "value1",
            key2: "value2",
            key3: "value3",
            key4: "value4",
            key5: "value5",
            key6: "value6",
            key7: "value7",
            key8: "value8",
            key9: "value9",
        }, {
            key1: "value1",
            key2: "value2",
            key3: "value3",
            key4: "value4",
            key5: "value5",
            key6: "value6",
            key7: "value7",
            key8: "value8",
            key9: "value9",
        }];


        // 我要将数据改成类下
        // let o1 = [
        //     {
        //         Mykey1: "value1",
        //         Mykey2: "value2",
        //     }
        // ]


        // 01- 要定义一个改值规则
        let xbjdy = {
            key1: "Mykey1",
            key2: "Mykey2",
            key3: "Mykey3",
            key4: "Mykey4",
            key5: "Mykey5",
            key6: "Mykey6",
            key7: "Mykey7",
            key8: "Mykey8",
            key9: "Mykey9",
        }

        // 02- 改key
        function gaiKey(arr, obj) {
            // 对复杂数据类型进行 修改等操作时 建议 克隆
            arr = JSON.parse(JSON.stringify(arr));
            // 修改 数据的容器
            let orr = [];
            for (let i = 0; i < arr.length; i++) {
                // 要被修改的对象
                const element = arr[i];
                // 循环对象
                for (const key in element) {
                    // 当前项 规则    按规则添加新key
                    arr[i][obj[key]] = element[key]; // 改key
                    delete element[key]; // 删除原有key数据
                    orr.push(element);
                }
            }
            return orr;
        }
        console.log(gaiKey(o, xbjdy));

原文链接:https://blog.csdn.net/dwp_wz/article/details/124322670

栏目分类
最近更新