不改变值替换对象key的方法

2020-12-14  本文已影响0人  记录学习生活

第一种

const arr = [
        {
            "name": "key1",
            "value": "value1",
        },
        {
            "name": "key2",
            "value": "value2",
        }
]
converKey(arr, keyMap) {
    let tempString= JSON.stringify(arr)
        for( let key in keyMap) {
            let reg= `/"${key}":/g`
                tempString= tempString.replace(eval(reg), '"' + keyMap[key] + '":')
            }
                return JSON.parse(tempString)
     },
converKey(data, {'name': 'newName'}) //注意keyMap的格式

第二种

const arr = [
        {
            "name": "key1",
            "value": "value1",
        },
        {
            "name": "key2",
            "value": "value2",
        }
]
const keyMap = { //旧key到新key的映射
    name: 'newName'
}
for (let i = 0; i < arr.length; i++) {
    let obj = arr[i]
    for (let key in obj) {
        var newKey = keyMap[key]
        if (newKey) {
            obj[newKey] = obj[key]
            delete obj[key]
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读