当前位置: 首页 > 知识库问答 >
问题:

从ES6[duplicate]中的对象数组中获取具有一个属性的数组

司寇书
2023-03-14

我有一个这样的数组:

[
  {foo: 1, bar: 2},
  {foo: 3, bar: 4}
]

获得只有foo值的数组的最简洁的ES6方法是什么?

预期结果将是:

[1, 3]

共有2个答案

严宸
2023-03-14

你可以用一个 <罢工> 分配 并使用数组#map返回此属性。

null

var objects = [{ foo: 1, bar: 2 }, { foo: 3, bar: 4 }],
    array = objects.map(({ foo }) => foo);

console.log(array);
秦阳旭
2023-03-14

使用.map()方法循环遍历项。

简单地说:

map()方法使用对调用数组中的每个元素调用提供的函数的结果创建一个新数组。

-MDN web文档

该方法允许为数组的每个元素调用一次提供的回调函数。它将创建一个由映射的元素组成的新数组。您可以同时传递元素索引作为回调的参数。后者是可选的(当您在回调中不需要时)。

这是一种在JavaScript中访问对象的简单方法。代码如下:

null

let array = [
  {foo: 1, bar: 2},
  {foo: 3, bar: 4}
]

console.log(array.map( e => e.foo ))
 类似资料:
  • 我有一个数据就像 我想使用ES6高阶函数获得每个对象的名称,而不使用for或foreach。 我尝试过和但不知道何时使用什么

  • 有一个名为的类。 并且我有一个对象的数组。我现在需要的是将该数组中所有对象的s提取到一个新数组中。 我也发现了这个类似的问题。但是它是在Objective-C中的,所以它使用来实现这一点。 我怎么能在斯威夫特做到这一点呢?

  • 我试着从这里开始: 到此处: 用尽可能少的代码。显然,我可以只循环它并构建数组,但我需要在各种对象上进行大量的操作。我可以编写一个函数来实现它,但很难使该函数对我的应用程序足够通用。 在jQuery中有这个的快捷方式吗?

  • 问题内容: 有一个叫的课程。 而且我有一系列对象。我现在需要将数组中所有这些对象的s 提取到新数组中。 我也发现了类似的问题。但是它在Objective-C中,因此可以用来完成此任务。 如何在Swift中执行此操作? 问题答案: 您可以使用方法,将某种类型的数组转换为另一种类型的数组-在您的情况下,从的数组转换为的数组:

  • 我有一个对象数组: 寻找一个简单的一行返回: 因此,我可以很容易地泵到一个反应下拉与适当的键。 我觉得这个简单的解决方案应该可以工作,但是我得到了无效的语法错误:

  • 问题内容: 是否有可能从具有特定属性的数组中获取对象?还是我需要遍历数组中的所有对象并检查属性是否是我正在寻找的特定对象? 编辑:谢谢你给我正确的方向,但我有一个转换此问题。 //再编辑一次:好的,如果只有一个特定的结果?这也是可行的方法吗? 问题答案: //这不起作用-NSArray不是Images的子类型-那么如果只有1种可能的结果怎么办? 您无法在编译时证明数组上只有一个可能的结果。您实际要