Javascript 如何更改json对象的所有属性名
我想更改json对象的所有属性名Javascript 如何更改json对象的所有属性名,javascript,json,replace,Javascript,Json,Replace,我想更改json对象的所有属性名 const obj = { "country": "Value1", "area": "value2", "color_flag": "value3" } const newKeys = ["pays", "Superficie", "Couleur de drapeau"] // I would like to have something like this : obj = { "pays": "Value1", "superfi
const obj = {
"country": "Value1",
"area": "value2",
"color_flag": "value3"
}
const newKeys = ["pays", "Superficie", "Couleur de drapeau"]
// I would like to have something like this :
obj = {
"pays": "Value1",
"superficie": "Value2",
"couleur_drapeau": "Value3"
}
提前感谢您可以使用新关键点克隆对象,但您需要为新关键点提供如下地图:
const newKeys = {
"country": "pays",
"area": "superficie",
"color_flag": "couleur_drapeau"
}
const obj = {
"country": "Value1",
"area": "value2",
"color_flag": "value3"
}
const newKeys = { // Keys map
"country": "pays",
"area": "superficie",
"color_flag": "couleur_drapeau"
}
const renamedObj = {}
for(let key in obj){
const newKey = newKeys[key]
renamedObj[newKey] = obj[key]
}
renamedObj = {
"pays": "Value1",
"superficie": "Value2",
"couleur_drapeau": "Value3"
}
只需在左边放上原来的钥匙,在右边放上新的钥匙,在你的例子中是法语的翻译
然后,需要在原始对象的所有关键点上循环,并使用新关键点将每个值复制到新对象
const renamedObj = {}
for(let key in obj){
const newKey = newKeys[key]
renamedObj[newKey] = obj[key]
}
最终代码应如下所示:
const newKeys = {
"country": "pays",
"area": "superficie",
"color_flag": "couleur_drapeau"
}
const obj = {
"country": "Value1",
"area": "value2",
"color_flag": "value3"
}
const newKeys = { // Keys map
"country": "pays",
"area": "superficie",
"color_flag": "couleur_drapeau"
}
const renamedObj = {}
for(let key in obj){
const newKey = newKeys[key]
renamedObj[newKey] = obj[key]
}
renamedObj = {
"pays": "Value1",
"superficie": "Value2",
"couleur_drapeau": "Value3"
}
renamedObj
应如下所示:
const newKeys = {
"country": "pays",
"area": "superficie",
"color_flag": "couleur_drapeau"
}
const obj = {
"country": "Value1",
"area": "value2",
"color_flag": "value3"
}
const newKeys = { // Keys map
"country": "pays",
"area": "superficie",
"color_flag": "couleur_drapeau"
}
const renamedObj = {}
for(let key in obj){
const newKey = newKeys[key]
renamedObj[newKey] = obj[key]
}
renamedObj = {
"pays": "Value1",
"superficie": "Value2",
"couleur_drapeau": "Value3"
}
您将如何将哪个旧密钥映射到哪个新密钥?对象未排序。这将是另一个属性。分配后
obj.pays=obj.country;删除obj.country代码>,如果这些是基本值。您已经尝试过什么?如果新密钥
可以包含obj
的密钥子集,请改用重命名bj[newKey | | key]=obj[key]
。如果找不到新键的真实值,则使用旧键。否则,这是一个很好的答案。