javascript – 从对象数组中,将属性的值提取为数组
Sonder
2019-09-10
593字
1分钟
浏览 (3.2k)
我有javascript对象数组:
objArray = [ { foo: 1, bar: 2}, { foo: 3, bar: 4}, { foo: 5, bar: 6} ];
我想获得所有的值foo作为数组[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 ]
是否有“更好”(更短,更有效和/或更惯用)的方式?
注意suggested duplicate,该问题询问如何将对象转换为和数组,这个问题询问如何从对象数组中提取单个字段。
是的,但它依赖于JavaScript的更新的功能。这意味着它不会在IE8或更旧的工作。
var result = objArray.map(function(a) {return a.foo;});
转载:代码日志