Javascript高级必会知识---批量替换数组对象的属性名

js中常常操作数组或对象进行增删改查一系列操作,遇到复杂的数组对象结构使用对数组的操作方法会报错,见案例:

const arr = [
  {name: '张三', age: 18, address: '湖北'}, 
  {name: '李四', age: 18, address: '安徽'}, 
  {name: '王五', age: 18, address: '北京'}
]
const map = { name: '姓名', age: '年龄', address: '地址'}

function change(arr, map) {
 // 在这里写代码
}

const arr2 = change(arr, map)
console.log(arr2)
// [
//  {'姓名': '张三', '年龄': 18, '地址': '湖北'}, 
//  {'姓名': '李四', '年龄': 18, '地址': '安徽'}, 
//  {'姓名': '王五', '年龄': 18, '地址': '北京'}
// ]

需要得到的结果:使用 map对象的属性值批量替换arr数组对象里面的属性值得到新的数组对象arr2

打印结果如上图所示

代码演示:

function change(arr, map) {
 // 在这里写代码
let newArr=[]
for (let i = 0; i < arr.length; i++) {
        let obj={}
      for(let key in arr[i]){
       obj[ map[key]]=arr[i][key]      
    }
    newArr.push(obj)
    }
return newArr
}

const arr2 = change(arr, map)
console.log(arr2)


// [
//  {'姓名': '张三', '年龄': 18, '地址': '湖北'}, 
//  {'姓名': '李四', '年龄': 18, '地址': '安徽'}, 
//  {'姓名': '王五', '年龄': 18, '地址': '北京'}
// ]

你可能感兴趣的:(javascript,前端,开发语言)