在JavaScript中更改对象的键

时间:2019-06-30 08:45:30

标签: javascript object key

我想更改这样的对象:

inputObj = {
    "1": 10,
    "2": 20,
    "3": 30,
    "4": 40,
    "5": 50,
    "6": 60
}`

对此:

outputObj = {
    "one": 10,
    "two": 20,
    "three": 30,
    "four": 40,
    "five": 50,
    "six": 60
}

有人可以帮忙吗? 密钥从数据库中作为数字获取。但我需要将其更改为描述

2 个答案:

答案 0 :(得分:0)

我认为下面的代码片段将解决此问题。

您需要获取输入键并映射它,并用replaceConfig更改并更新它。参见下面的代码段

const replacementsConfig = {"1": "one", "2": "two", "3": "three"};
const data = {'1': 10, '2': 30 , "3": 69 };

let replacedItems = Object.keys(data).map((key) => {
  const newKey = replacementsConfig[key] || key;
  return { [newKey] : data[key] };
});

let output = Object.assign(...replacedItems)

console.log(output)

答案 1 :(得分:-1)

您可以像实现

var inputObj = {
    "1": 10,
    "2": 20,
    "3": 30,
    "4": 40,
    "5": 50,
    "6": 60
};

var outputObj = {};

Object.keys(inputObj).forEach( key => {
  if(key == "1") {
    outputObj["one"] = inputObj[key]
  } 
  else if(key == "2") {
    outputObj["two"] = inputObj[key]
  } 
  else if(key == "3") {
    outputObj["three"] = inputObj[key]
  } 
  else if(key == "4") {
    outputObj["four"] = inputObj[key]
  } 
  else if(key == "5") {
    outputObj["five"] = inputObj[key]
  } 
  else if(key == "6") {
    outputObj["six"] = inputObj[key]
  } 
  else if(key == "7") {
    outputObj["seven"] = inputObj[key]
  } 
  else if(key == "8") {
    outputObj["eight"] = inputObj[key]
  }
});