Если весь ваш массив содержит только один объект, вы можете просто сделать это.
const keys = ["sw_adult", "sw_overlap", "sw_child", "sw_pause"];
const all = [{
"tp_ot_avg": 0.003,
"tp_ot_s": 24.7,
"tp_overlap_pc_s": 45.7,
"tp_ot_avg_s": 0.005,
"sw_adult": 74,
"sw_overlap": 6,
"sw_child": 7,
"sw_pause": 13
}];
const output = Object.keys(all[0]).reduce((result, current) => {
if (keys.includes(current)) {
result[current] = all[0][current];
}
return result;
}, {});
console.log(output);
И есть вероятность, что весь массив может иметь несколько объектов, тогда вы можете сделать это.
const keys = ["sw_adult", "sw_overlap", "sw_child", "sw_pause"];
const all = [{
"tp_ot_avg": 0.003,
"tp_ot_s": 24.7,
"tp_overlap_pc_s": 45.7,
"tp_ot_avg_s": 0.005,
"sw_adult": 74,
"sw_overlap": 6,
"sw_child": 7,
"sw_pause": 13
}, {
"tp_ot_avg": 0.003,
"tp_ot_s": 24.7,
"tp_overlap_pc_s": 45.7,
"tp_ot_avg_s": 0.005,
"sw_adult": 742,
"sw_overlap": 62,
"sw_child": 72,
"sw_pause": 132
}];
const output = all.map((a) => Object.keys(a).reduce((result, current) => {
if (keys.includes(current)) {
result[current] = a[current];
}
return result;
}, {}));
console.log(output);