Сравнить два ключ обьекта JS с массивом
Всем привет! Возник такой вопрос на повестке дня, сижу голову ломаю! Как можно сравнить ключ обьекта с массивом. В общем у меня есть массив такого вида:
const stempTest = [
{ stemp: 'tr01', name: 'Тест' }, { stemp: 'tr02', name: "Тест" }, { stemp: 'tr03', name: "тест" }, { stemp: 'tr03', name: "тест" },
{ stemp: 'tr_04', name: "Тест" }
]
Мне нужно сравнивать приходящий с сервера обьект с stemp из массива и присваивать ему в "новом" обьекте значение name из массива. С сервера приходит обьект такого вида:
const obj = {
tr01: { value: 3 },
tr02: { value: 4 },
tr03: { value: 5 },
}
Вот, в общем нужно сравнить obj.key и stempTest.stemp (stempTest это массив) и присвоить в новом обьекте значение name ключу obj.key
Пробовал через .filter прогонять в цикле с условием пока не заполнится новый обьект по длине такой же, как искомый с сервера, но почему-то не выходит!
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
const arr = [
{ stemp: 'tr01', name: "Тест 1" },
{ stemp: 'tr02', name: "Тест 2" },
{ stemp: 'tr03', name: "тест 3" },
{ stemp: 'tr03', name: "тест 4" },
{ stemp: 'tr_04', name: "Тест 5" },
]
const obj = {
tr01: { value: 3 },
tr02: { value: 4 },
tr03: { value: 5 },
}
for (const x of arr) {
if (Object.hasOwnProperty.call(obj, x.stemp)) {
obj[x.stemp].key = x.name
}
}
console.log(obj)
.as-console-wrapper.as-console-wrapper { max-height: 100vh }