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

标签 javascript arrays object

我有一个对象数组,它们都有一个名为 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 是否有方法可以实现我想要实现的目标?

最佳答案

Array#map :

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

关于javascript - 有没有比 for 循环更好的方法将对象数组的属性添加到另一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27930749/

相关文章:

javascript - 在文本区域输入 key

javascript - TypeScript 与 BreezeJS 结合

python - 遍历动态数量的 for 循环 (Python)

php - Laravel split in blade 模板嵌套 foreach

entity-framework - 带有列表的 Entity Framework 复杂对象

java - 在mySQL数据库中存储ArrayList对象数据

javascript - 缩放导致图形超出绘图区域范围

javascript - 使用 .js 文件中定义的代码

javascript - jquery的图像预加载问题

java - 对象转换模式