Sobes.tech
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