我有一个这样的数组:
[ {foo: 1, bar: 2}, {foo: 3, bar: 4}]
如何使用最简洁的ES6方式获取仅包含foo
值的数组?
期望的结果应该是:
[1, 3]
我有一个这样的数组:
[ {foo: 1, bar: 2}, {foo: 3, bar: 4}]
如何使用最简洁的ES6方式获取仅包含foo
值的数组?
期望的结果应该是:
[1, 3]
.map()
方法遍历数组。该方法允许对数组中的每个元素调用所提供的回调函数一次。它创建由映射元素组成的新数组。 您可以将
map()
方法将调用提供的函数的结果作为新数组返回,该函数在每个元素上调用。
element
和 index
都作为回调的参数传递。后者是可选的(当您在回调中不需要它时)。let array = [
{foo: 1, bar: 2},
{foo: 3, bar: 4}
]
console.log(array.map( e => e.foo ))
const x = [{foo: 1, bar: 2}, {foo: 3, bar: 4}]
x.map(entry => entry.foo)
尝试避免编写 for
循环也被认为是“现代化”的做法。
扩展lipp的答案:
const x = [{foo: 1, bar: 2}, {foo: 3, bar: 4}];
var y = x.map(entry => entry.foo);
第一行创建了一个对象数组。 第二行使用压缩的 lambda 表达式从 x 数组返回 foo 属性的数组,并将其赋值给 y。
[[1, 3]]
。 - Nina Scholz
data.map(({foo}) => foo);
- Nenad Vracar