У меня есть массив объектов 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 ]
Есть ли более элегантный или идиоматический способ сделать это, чтобы пользовательская функция полезности была бы ненужной?
Обратите внимание на предложенный дубликат, в нем рассказывается, как преобразовать отдельный объект в массив.