Как изменить все имена свойств объекта json - PullRequest
0 голосов
/ 26 марта 2020

Я хотел бы изменить все имена свойств 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",
  "superficie": "Value2",
  "couleur_drapeau": "Value3"
}

Заранее спасибо

1 Ответ

0 голосов
/ 26 марта 2020

Вы можете клонировать свой объект, используя новые ключи, но вам необходимо предоставить карту для новых ключей, например:

const newKeys = {
  "country": "pays",
  "area": "superficie",
  "color_flag": "couleur_drapeau"
}

Просто слева поместите исходный ключ, а справа - новый, который в вашем случае перевод на французский.

Затем вам нужно l oop по всем ключам вашего исходного объекта и скопировать каждое значение в новый объект с новым ключом

const renamedObj = {}
for(let key in obj){
  const newKey = newKeys[key]
  renamedObj[newKey] = obj[key]
}

Итоговый код должен быть таким:

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 должен выглядеть так:

renamedObj = {
  "pays": "Value1",
  "superficie": "Value2",
  "couleur_drapeau": "Value3"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...