Вы можете сделать что-то вроде ниже:
Все значения в одном массиве результатов:
var arr = ['abc', 'xyz', 'pqr'];
var data = [{'abc': 123, 'xyz': 321, 'pqr': 345}, {'abc': 111, 'xyz': 222, 'pqr': 333}];
var result = [];
for(let item of data) {
arr.forEach(function(el, i) {
if(item.hasOwnProperty(el)) {
result.push(item[el]);
}
});
}
console.log(result);
Или отдельные вложенные массивы для каждого объекта в массиве данных:
var arr = ['abc', 'xyz', 'pqr'];
var data = [{'abc': 123, 'xyz': 321, 'pqr': 345}, {'abc': 111, 'xyz': 222, 'pqr': 333}];
var result = [];
for(let item of data) {
var temp = [];
arr.forEach(function(el, i) {
if(item.hasOwnProperty(el)) {
temp.push(item[el]);
}
});
if(temp.length > 0) {
result.push(temp);
}
}
console.log(result);