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

我有以下结构的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()

以上是 JavaScript从对象数组中提取属性值作为数组 的全部内容, 来源链接: utcz.com/qa/433388.html

回到顶部