Собираем массив объектов 5/5

Получилось вот так:
var getData = function(arr1, arr2) {
var result = [];
var length;
for ( var i = 0; i < arr1.length; i++) {
if (arr2[i] === undefined) {
continue;
}
result[i] = {};
arr1.length > arr2[i].length ? length = arr2[i].length: length = arr1.length;
for ( var j = 0; j < length; j++) {

    result[i][arr1[j]] = arr2[i][j];
  }

}
return result;
};

var getData = function (keys, value) {  
    
  var resultObj = {};
  var resultArray = [];

   for(var j = 0; j < value.length; j++) {
     
    resultObj = {};
     
    for (var i = 0; i < keys.length; i++) {
      
      if (value[j][i] !== undefined) {
        resultObj[keys[i]] = value[j][i];
      }  
    }
     resultArray[j] = resultObj;
   }  

  return resultArray;    
}

ну в прицнипе тоже самое, только чуть быстрей и проще

function getData (keys, params) {
let res =[];
for (let i = 0; i < params.length; i++)
{
res[i]={};
for (let j = 0; j < keys.length; j++){
if (params[i][j] !== undefined) {
res[i][keys[j]] = params[i][j]; }
}
}
return res;
}