Вы, вероятно, можете сделать это как один слой, но для удобства чтения и эффективности было бы лучше создать объект поиска на основе значения, которое вы хотите получить из одного из массивов, а затем map
другой массив, используя поискприсоединиться к другому значению, которое вы хотите.Что-то вроде:
let arr1 = [{"ID": 58895,"step": "Outage Agreed w/ Business"},{"ID": 58896,"step": "GMLC/E911/CMAS Significant"}]
let arr2 = [{"type": "verification_step","value": "GMLC/E911/CMAS Significant"},{"type": "verification_step","value": "Outage Agreed w/ Business"}]
// lookup based on value
let lookup = arr2.reduce((m, {type, value}) => m.set(value, {type}), new Map)
// merge each item based on lookup
let result = arr1.map(item => Object.assign({}, item, lookup.get(item.step)))
console.log(result)