Необходимо сравнить элементы массива с ключами объекта
Есть функция, которая принимает первым параметром объект, вторым - массив из цепочки свойств, по которому нужно пройти, чтобы получить значение.
Если какое-то из свойств не найдено или массив пустой - функция возвращает undefined.
Пример:
const obj = {
a: {
b: {
c: {
d: 'Привет!'
}
}
}
}
optionalChaining(obj, ["a", "b", "c", "d"]) // Привет
optionalChaining(obj, ["a", "b", "c", "d", "e"]) // undefined
Ответы (1 шт):
Автор решения: HTMLProgrammer
→ Ссылка
function optionalChaining(obj, path){
let cur = obj;
for(prop of path){
if(cur[prop])
cur = cur[prop];
else
return undefined;
}
return cur;
}
const obj = {a: {b: {c: {d: 'Привет!'}}}};
console.log(optionalChaining(obj, ['a', 'b', 'c', 'd']));
console.log(optionalChaining(obj, ['a', 'b', 'c', 'd', 'e']));