有的时候从后端获取的对象的key,不是我们想要的效果。那么可以按照如下思路进行批量处理:
- 拿到原本对象的key,并最好是数组形式,方便后期处理。
- 创建一个替换规则rule,也拿到他的key,同时最好也是数组形式。
- 同时对两个数组进行遍历,当相同时,以rule中的value为key,以原本对象中的value为新的value,创建一个新的对象。这个新的对象就是我们所需要的。
const obj1={姓名:'zs',性别:'男'}
const rule={
'姓名':'name',
'性别':'gender'
}
function tranFn(obj,rule){
const newObj={}
// 拿到原本对象的key
Object.keys(obj).forEach(item=>{
// 拿到rule中的key
Object.keys(rule).forEach(ele=>{
// 当两个key中的某一项值相同时,创建一个新的键值对。
item==ele&&(newObj[rule[ele]]=obj[item])
})
})
console.log(newObj)
}
tranFn(obj1,rule)// { name: 'zs', gender: '男' }
使用Object.keys包裹一个对象,返回一个数组。
console.log(Object.keys(obj1))//[ '姓名', '性别' ]