当前位置: 首页 > 面试题库 >

JavaScript从对象数组中提取属性值作为数组

邓子濯
2023-03-14
问题内容

我有以下结构的JavaScript对象数组:

objArray = [ { foo: 1, bar: 2}, { foo: 3, bar: 4}, { foo: 5, bar: 6} ];

我想从每个对象中提取一个字段,并获取一个包含值的数组,例如field foo将给出array [ 1, 3, 5 ]

我可以用这种简单的方法做到这一点:

function getFields(input, field) {
    var output = [];
    for (var i=0; i < input.length ; ++i)
        output.push(input[i][field]);
    return output;
}

var result = getFields(objArray, "foo"); // returns [ 1, 3, 5 ]

有没有更优雅或更惯用的方法来执行此操作,从而不需要自定义实用程序功能?

关于建议的重复项的注释,它涵盖了如何将单个 对象
转换为数组。


问题答案:

这是实现它的一种较短的方法:

let result = objArray.map(a => a.foo);

要么

let result = objArray.map(({ foo }) => foo)

您也可以检查Array.prototype.map()



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

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

  • 问题内容: 给定一个JavaScript对象: 如何有效地将内部对象提取到数组中? 我不需要维护 object [n] ID 的句柄。 问题答案:

  • 我有一个具有以下结构的对象数组: 我希望输出为: 因为这两个都检查了。 我已尝试根据选中值筛选出: 我正在获取已选中属性值设置为。 我们将不胜感激。

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

  • 我得到错误:“com.google.gson.jsonSyntaxException:java.lang.IllegalStateException:Expected BEGIN_OBJECT但是BEGIN_ARRAY位于第1行column 283 path$.items.Promended[0].images” 我请求帮助从json对象提取数据。 我只需要删除类'images',并将'urls'