通过将键值设置为对象的属性之一来修改 JavaScript 中的对象数组

rea*_*leo 3 javascript arrays

我有一个这样的数组:

[
  {
    0 : {
      id: 'somevalue',
      name: 'John Doe',
      age: '20'
    }
  }
  ...
]
Run Code Online (Sandbox Code Playgroud)

我想修改数组,例如将键设置为这样的id属性:

[
  {
    somevalue : {
      name: 'John Doe',
      age: '20'
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么。谢谢你的时间。

Nin*_*olz 5

您可以解构对象并从对象中取出想要的键。然后返回具有所需值的新对象。

var array = [{ 0 : { id: 'somevalue', name: 'John Doe', age: '20' } }],
    key = 'id',
    result = array.map(({ 0: { [key]: k, ...o } }) => ({ [k]: o }));

console.log(result);
Run Code Online (Sandbox Code Playgroud)