JavaScript オブジェクトから要素のサブセットを抽出する最も効率的な方法を探しています。JavaScriptオブジェクトの形式で多くのレコードがあるとします
var records = [
{ foo: 123, bar: 456, baz: 789, boo: [1,2,3] },
{ foo: 345, bar: 754, baz: 853, boo: [4,3,2] },
{ foo: 321, bar: 234, baz: 443, boo: [5,2,1] }
]
そして、これらのオブジェクトごとに、配列に格納されている同じキーを抽出したいと思います。
var keys = ["bar", "boo"]
そうするためのネイティブな方法は、
out = [];
for(var i = 0; i < records.length; i++){
out[i] = {};
for(var j = 0; j < keys.length; j++){
var field = keys[j];
out[i][field] = records[i][field]
}
}
console.log(out)
より速く/よりエレガントな方法はありますか?