一起看一道JavaScript的题目

69 阅读1分钟

代码如下

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

const change = (arr, map) => arr.map(ele => Object.values(map).reduce((a, b, index) => ((a[b] = ele[Object.keys(map)[index]]),a), {}))

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