如何修改对象数组的键名?将lat、lng替换为Lat、Long的实现方法
错误原因
你的代码存在两个核心问题:
coords[0]是数组的第一个元素,属于对象类型,本身没有map方法,map是数组专属的遍历方法replace是字符串的替换方法,不能直接用来修改对象的键名
正确实现
方案1:不修改原数组,返回新数组(最推荐)
遍历原数组,直接取出对应属性赋值给新键名即可:
const newCoords = coords.map(coord => { return { Lat: coord.lat, Long: coord.lng } }) // 解构赋值简写版本 const newCoords = coords.map(({ lat, lng }) => ({ Lat: lat, Long: lng }))
方案2:直接修改原数组
如果需要覆盖原数组的内容,可以遍历后新增键再删除旧键:
coords.forEach(coord => { // 新增目标键名,赋值对应属性 coord.Lat = coord.lat coord.Long = coord.lng // 删除原有的旧键名 delete coord.lat delete coord.lng })
内容的提问来源于stack exchange,提问作者Sai Krishnadas
相关产品推荐
相关产品推荐

