Javascript 从ES6中的对象数组中获取具有一个属性的数组
我有这样一个数组:Javascript 从ES6中的对象数组中获取具有一个属性的数组,javascript,Javascript,我有这样一个数组: [ {foo: 1, bar: 2}, {foo: 3, bar: 4} ] 获取仅包含foo值的数组的最简洁的ES6方法是什么 预期结果将是: [1, 3] Array.prototype.map方法适用于将一个数组映射/转换为相同大小的另一个数组。传入一个函数,该函数将从数组中的一个元素转换为新元素。自2018年起,使用所谓的胖箭头语法为转换定义匿名函数被认为是“现代的”: const x = [{foo: 1, bar: 2}, {foo: 3, bar:
[
{foo: 1, bar: 2},
{foo: 3, bar: 4}
]
获取仅包含foo
值的数组的最简洁的ES6方法是什么
预期结果将是:
[1, 3]
Array.prototype.map方法适用于将一个数组映射/转换为相同大小的另一个数组。传入一个函数,该函数将从数组中的一个元素转换为新元素。自2018年起,使用所谓的胖箭头语法为转换定义匿名函数被认为是“现代的”:
const x = [{foo: 1, bar: 2}, {foo: 3, bar: 4}]
x.map(entry => entry.foo)
尝试避免为循环编写,也被认为是“现代的”。使用该方法循环项目
简言之:
map()
-
该方法允许为数组的每个元素调用一次提供的回调函数。它将创建一个由映射元素组成的新数组。
您可以将元素
和索引
作为回调参数传递。后者是可选的(当回调中不需要它时)
这是一种在JavaScript中访问对象的干净方法。代码如下:
let数组=[
{foo:1,bar:2},
{foo:3,bar:4}
]
console.log(array.map(e=>e.foo))
您可以使用并通过使用返回此属性
var objects=[{foo:1,bar:2},{foo:3,bar:4}],
array=objects.map(({foo})=>foo);
console.log(数组)代码>扩展lipp的答案:
const x = [{foo: 1, bar: 2}, {foo: 3, bar: 4}];
var y = x.map(entry => entry.foo);
在第一行中,创建了一个对象数组。
第二行使用缩小的lambda表达式从x数组返回foo属性数组,并将其分配给y。data.map(({foo})=>foo)代码>请使用搜索:)虽然此代码段可以解决问题,但它没有解释为什么或如何回答问题。请,因为这确实有助于提高你的文章质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。标记者/审阅者:尽管结果是[[1,3]]
,但这并没有回答问题。lipp的回答完全正确是的。我把一个阵列推进另一个阵列。现在修好了。