将对象中的key转化为指定的key,但是value不变

chrome中可以用下列方法,但是edge不兼容:

const keyMap = {key1:"newKey1",key2:"newKey2",key3:"newKey3",key4:"newKey4"}
const obj = {key1:1,key2:2,key3:3,key4:4}
const newObj = Object.fromEntries(Object.entries(obj).map([k,v])=>[keyMap[k]||k,v]))
console.log(newObj)//{newKey1:1,newKey2:2,newKey3:3,newKey4:4}

兼容edge方法:

const keyMap = {key1:"newKey1",key2:"newKey2",key3:"newKey3",key4:"newKey4"}
const obj = {key1:1,key2:2,key3:3,key4:4}
const newObj=Object.keys(obj).reduce((newData, key) => {
          let newKey = keyMap[key] || key
          newData[newKey] = obj[key]
          return newData
        }, {})
console.log(newObj)//{newKey1:1,newKey2:2,newKey3:3,newKey4:4}

hasOwnProperty没测试过不知道其兼容性

const keyMap = { key1: "newKey1", key2: "newKey2", key3: "newKey3", key4: "newKey4" }
const obj = { key1: 1, key2: 2, key3: 3, key4: 4,key5:5 }
for (let item in obj) {
  if (keyMap.hasOwnProperty(item)) {//hasOwnProperty可判断对象自身是否有指定的属性,返回一个Boolean值
    obj[keyMap[item]] = obj[item];
    delete obj[item]; //删除其之前的属性
  }
}
console.log(obj)//{ key5: 5, newKey1: 1, newKey2: 2, newKey3: 3, newKey4: 4 }

如果对您有一丝的帮助,请赏个赞可好~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值