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

第一种

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]
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容