I made this one. But it is not memory or time efficient. You can make faster version with for loop.
Good luck.
let firstName = ['John','Joe','Kees'];
let lastName = ['Smith','Fisherman','Cow'];
const combiner = (firstArray, secondArray) => Array(Math.max(firstArray.length, secondArray.length)).fill('').map((_, i) => `${firstArray[i] || ''} ${secondArray[i] || ''}`.trim());
// edit:
with for loop
const fasterCombiner = (fa, sa) => {
let result = [], length = fa.length > sa.length ? fa.length : sa.length;
for(let i = 0; i < length; i++ ) {
result.push(`${fa[i] || ''} ${sa[i] || ''}`.trim());
}
return result;
}