有没有比 for 循环更好的方法将对象数组的 属性 添加到另一个数组?

Is there a better way to add a property of an array of objects to another array than a for loop?

我有一个对象数组,它们都有一个名为 Id 的 属性,其布局与此类似:

var allPeople = [ { 'id': someNumber, 'name': someString }, { 'id': anotherNumber, 'name': anotherString }, ... ]

我想获取每个 ID 并将它们连接到另一个数组,我将其称为 selectedPeople:

[ someNumber, AnotherNumber ]

目前,我正在使用 for 循环将每个 id 推送到 selectedPeople 数组:

 for (i = 0; i < allPeople.length; i++) {
      selectedPeople.push(allPeople[i].id);
 }

但是,这感觉很程序化,我想知道是否有更好的方法来解决这个问题? Javascript有没有方法可以实现我想要达到的效果?

可以使用map数组的方法对数组进行变换

类似于:

var allPeople = [ { 'id': someNumber, 'name': someString }, { 'id': anotherNumber, 'name': anotherString }]

var ids = allPeople.map(function(person) {return person.id;});
//ids is [someNumber, AnotherNumber ]

Array#map:

    var allPeople = [{
      'id': someNumber,
      'name': someString
    }, {
      'id': anotherNumber,
      'name': anotherString
    }, ...]
    var selectedPeople = allPeople.map(function(person) {
      return person.id
    });
    console.log(selectedPeople);