Middle+
/* დაწერეთ get(obj, path) ფუნქცია, რომელიც იღებს ობიექტს obj და სტრიქონს path, რომელიც წარმოადგენს გზას ობიექტში მნიშვნელობის მისაღწევად. - თუ გზა არსებობს, ფუნქციამ უნდა დააბრუნოს შესაბამისი მნიშვნელობა - თუ გზა არ არსებობს, ფუნქციამ უნდა დააბრუნოს undefined - გზა გადაეცემა სტრიქონის სახით, რომელიც გამოყოფილია წერტილებით (.) */ function get(obj, path) { } get({ a: { b: { c: "d" } } }, "a.b.c"); get({ a: { b: { c: "d" } } }, "a.b"); get({ x: { y: { z: 42 } } }, "x.c");
sobes.tech AI
პასუხი AI-სგან
Функция get разбивает строку пути по точкам и последовательно проходит по объекту, возвращая значение по указанному пути или undefined, если путь не существует.
function get(obj, path) {
return path.split('.').reduce((acc, key) => {
if (acc && acc.hasOwnProperty(key)) {
return acc[key];
} else {
return undefined;
}
}, obj);
}
// Примеры:
console.log(get({ a: { b: { c: "d" } } }, "a.b.c")); // "d"
console.log(get({ a: { b: { c: "d" } } }, "a.b")); // { c: "d" }
console.log(get({ x: { y: { z: 42 } } }, "x.c")); // undefined