如何更改键名称和javascript对象的值

时间:2019-07-05 12:24:09

标签: javascript object

因此,我是javascript编程的新手,我需要找出一种更改键名和对象值的方法。

这里是对象,我在一个名为json的变量中:

{ 1079: "i",
  1078: "h", 
  843: "g", 
  842: "f",
  841: "e", 
  688: "d",  
  277: "c",
  276: "b",
  70: "a",
}

这是预期的console.log

{ name: 1079 value: "i",
   name: 1078: value: "h", 
   name: 843: value:"g", 
   name: 842: value:"f",
   name: 841: value:"e", 
   name: 688: value:"d",  
   name: 277: value:"c",
   name: 276: value:"b",
   name: 70: value:"a",
}

无论如何,感谢任何可以帮助我的人。

5 个答案:

答案 0 :(得分:2)

对象中不能有相同的键,但是可以为数组中的每个对取一个对象。

由于键的对象在内部可以按索引读取,因此现在按数字顺序按键进行排序。

var object = { 1079: "i", 1078: "h", 843: "g", 842: "f", 841: "e", 688: "d", 277: "c", 276: "b", 70: "a" },
    result = Object.entries(object).map(([name, value]) => ({ name, value }));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

答案 1 :(得分:1)

这将起作用。如果您正在寻找它。

let obj = {
  1079: "i",
  1078: "h",
  843: "g",
  842: "f",
  841: "e",
  688: "d",
  277: "c",
  276: "b",
  70: "a",
}
let result = Object.entries(obj).reduce((acc, [name, value]) => {
  acc.push({
    name,
    value
  })
  return acc;
}, [])
console.log(result)

答案 2 :(得分:0)

    var currentObj = { 1079: "i",
      1078: "h", 
      843: "g", 
      842: "f",
      841: "e", 
      688: "d",

      277: "c",
      276: "b",
      70: "a",
    };

    var newObj = Object.keys(currentObj).map(x => { return { name: x, value: currentObj[x] };});
console.log(newObj);

答案 3 :(得分:0)

您可以使用Object.entries()

const data = { 
  1079: "i",
  1078: "h", 
  843: "g", 
  842: "f",
  841: "e", 
  688: "d",
  277: "c",
  276: "b",
  70: "a",
};

function formatObject(obj) {
  const arr = [];
  Object.entries(obj).forEach(x => {        
    arr.push({
      name: x[0],
      value: x[1]
    });
  });
  return arr;
}

const result = formatObject(data);
console.log(result);

答案 4 :(得分:0)

获取一个数组,根据需要填充它:

var json = { 1079: "i", 1078: "h", 843: "g", 842: "f", 841: "e", 688: "d", 277: "c", 276: "b", 70: "a" }

var arr = [];

for(k in json) arr.push({name:k, value:json[k]})

console.log(arr)