仅将对象的1个属性从对象数组复制到新数组

时间:2016-03-01 02:18:43

标签: javascript arrays ecmascript-6

我有一个像这样的对象数组:

[
  {
    id: 1,
    name: 'Bill',
    age: 42
  },
  {
    id: 2,
    name: 'Jack',
    age: 37
  }
]

我知道如何使用es6中的数组传播...而不是slice()

将所有数据复制到新数组
const newArray = [...oldArray];

我只想使用以下方法提取名称:

const newArray = [];
for (i = 0; i < oldArray.length; i++) {
    newArray.push(oldArray[i].name);
}

在es6中有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

使用Array.prototype.map()

let people = 
[
  {
    id: 1,
    name: 'Bill',
    age: 42
  },
  {
    id: 2,
    name: 'Jack',
    age: 37
  }
]

let names = people.map(person => person.name)

jsbin