Поскольку оба массива person
и oldest
имеют одинаковую длину, вы можете просто выполнить итерацию любого из них, создать новые объекты со свойствами age
из элементов обоих массивов с одинаковым индексом и передать их в массив результатов..
const person = [
{ first: 'firstName', last: 'lastName', year: 1439, passed: 1495 }
];
const oldest = person.map(x => x.passed - x.year);
const result = [];
person.forEach(({first, last, year, passed}, i) => result.push({first, last, year, passed, age: oldest[i]}));
console.log(result);
Учитывая функцию zip
(которая, к сожалению, еще не является стандартным JavaScript), вы также можете сократить ее до:
zip(person, oldest).map(([{first last, year, passed}, age]) => ({first, last, year, passed, age}));