найти одинаковые ключи объектов в разных массивах
Есть 2 массива объектов, нужно найти совпадения ключей, перемножить их значения и вернуть новый массив получившихся в результате умножения чисел
const alphabet = [
{ key: 'a', value: 1 },
{ key: 'b', value: 2 },
{ key: 'c', value: 3 },
{ key: 'd', value: 4 },
{ key: 'e', value: 5 },
{ key: 'f', value: 6 },
{ key: 'g', value: 7 },
{ key: 'h', value: 8 },
{ key: 'i', value: 9 },
{ key: 'j', value: 10 },
{ key: 'k', value: 11 },
{ key: 'l', value: 12 },
{ key: 'm', value: 13 },
{ key: 'n', value: 14 },
{ key: 'o', value: 15 },
{ key: 'p', value: 16 },
{ key: 'q', value: 17 },
{ key: 'r', value: 18 },
{ key: 's', value: 19 },
{ key: 't', value: 20 },
{ key: 'u', value: 21 },
{ key: 'v', value: 22 },
{ key: 'w', value: 23 },
{ key: 'x', value: 24 },
{ key: 'y', value: 25 },
{ key: 'z', value: 26 },
],
arrValue = [{ key: 'a', value: 3 },
{ key: 'b', value: 4 },
{ key: 'c', value: 3 },
{ key: 'd', value: 3 }]
Ответы (1 шт):
Автор решения: HTO HOT
→ Ссылка
Вот как один из вариантов.
function foo(arr1,arr2){ /////Передаём 2 массива
let resArr = []; //// создаём массив который в будущем выведем
arr1.forEach((obj1)=>{ /// перебираем первый массив
arr2.forEach((obj2)=>{ ///перебираем второй массив
if(obj1.key == obj2.key){ /// сравниваем "ключи" из объектов
resArr.push({key:obj1.key,value:obj1.value*obj2.value}); ///вставляем в наш созданный массив объект типа {key:'ключ',value:'перемноженное число'}
}
})
})
return resArr;
}