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

给复杂的数组结构数据换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));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厚渡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值