如标题:
原来中文的格式:results:[{姓名:xxx,手机号:xxxx},{姓名:xxx,手机号:xxxx}]
这时后端说他不要这种数据,他要纯英文的:data:[{username:xxx,mobile:xxxx},{username:xxx,mobile:xxxx}]
实现它:
我先定义一个转换它的函数:
formateData (results) {
// 我先定义一个常量保存它们的对应关系
const mapInfo = {
'姓名': 'username',
'手机号': 'mobile'
}
// 然后使用map方法
const data = results.map(obj => {
// 这时形参obj代表的就是{姓名:xxx,手机号:xxxx}
// 我希望得到新对象:key是英文的,value不变,于是声明变量准备接收
const newObj = {}
// 使用Object.keys()方法单独拿出对象中的键装进一个数组中去,在遍历数组拿到每个中文的键名
Object.keys(obj).forEach(zhKey => {
// 形参zhKey代表中文键;声明一个英文的键enKey
// 因为前面声明的mapInfo中已经对应好了,所以直接拿中文的键名去mapInfo中去拿对应的值并赋值给enKey
const enKey = mapInfo[zhKey]
// 最后在newObj中添加一个键为enKey,值为老数组中的中文键的值
newObj[enKey] = obj[zhKey]
return newObj
})
})
return data
}