键值是数字时的处理方式

同事碰到接口返回为数值的键值,想处理成自己想要的键值的对象,于是写了个方法来处理类似的数据

'{"1":"凭订单详情页的入园凭证(入园辅助码或二维码)入园","2":"凭下单时预留的身份证入园","3":""}'  处理成自己想要的键值的对象
    const content = '{"1":"凭订单详情页的入园凭证(入园辅助码或二维码)入园","2":"凭下单时预留的身份证入园","3":""}'
    const newKey = ['key1', 'key2', 'key3', 'key4']

    function keyConversion(content = '{}', newKey = []) {
        const obj = JSON.parse(content)
        if (Object.keys(obj).length == 0) return {}
        let [arr, index] = [
            [], -1
        ]
        for (let key in obj) { //遍历拿取对象内的值 
            arr.push(obj[key]) //键值为数字时可以通过 obj[key] 的方式拿出来对应数字键值的值
        }
        return arr.reduce((pre, cur) => {
            index++
            return Object.assign(pre, { //每次在对象内合并增加一个新的键值对
                [newKey[index]]: cur
            })
        }, {})
    }
    const newObj = keyConversion(content, newKey)
    console.log(newObj)

 

 

转载于:https://www.cnblogs.com/dajuyiding/p/11515645.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值