javascript - 如何根据每个原始数组项中的特定属性创建新数组

标签 javascript arrays ecmascript-6 mapping spread-syntax

我有一个具有以下结构的项目数组:

originalArray = [
  {
    product: { price: 10},
    shipping: {...}
  },
  {
    product: {price: 20},
    shipping: {...},
  }
]

我想创建一个新数组,其中仅包含每个原始数组项的产品,例如:

[ {price: 10}, {price: 20} ]

使用 javascript(es6/2015 就可以)

最快的方法是什么?有没有办法在没有循环/ map 的情况下做到这一点?数组中的项目数量将是动态的/我不知道可能有多少。

最佳答案

最简单的方法就是映射它

var originalArray = [{
    product: {
      price: 10
    },
    shipping: {}
  },
  {
    product: {
      price: 20
    },
    shipping: {},
  }
]

var newArray = originalArray.map(item => item.product);

console.log( newArray )

如果不迭代,确实没有办法做到这一点

关于javascript - 如何根据每个原始数组项中的特定属性创建新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45742687/

相关文章:

javascript - ECMAScript 关联数组到对象/原型(prototype)为空?

Java将字节数组转换为UTF-8字符串

javascript - 在类基组件中传递变量

javascript - 为什么 ref 不是子组件中的属性?

javascript - 如果 window.open 在 IOS 中不起作用,请在同一选项卡中打开 url

javascript - 覆盖函数会导致过多的递归

javascript - 使用jquery得到求和结果后如何加上一个整数值?

javascript - 如何从对象数组中删除项目?

ruby - Array和Enumerable有什么关系?

java - 检查数组中同一对象的多个实例