Задача - сделать функцию для поиска по объекту сложной вложенности, нужно найти значение ячейки с именем "treasure" вот пример проверки:
const obj = {
a: ["qwe", 124],
b: {
c: ["zaaaz"],
d: [{ treasure: 1755 }],
e: "treasure"
},
f: {
g: "key"
},
h: ["qwe", 124]
};
console.log(findTreasure(obj));
Набросал приблизительное решение, но не выходит вернуть искомое значение
function findTreasure(obj, a = 0, searchingName = "treasure") {
for (let m in obj) {
if (obj[searchingName]) {
a = obj[searchingName];
} else if (typeof obj[m] === "object") findTreasure(obj[m], a);
}
return a;
}
Подскажите, где накосячил
В коде есть несколько проблем:
Если исправить эти проблемы можно получить следующий код:
function findTreasure(obj, searchingName = "treasure") {
if (obj[searchingName]) {
return obj[searchingName];
}
for (let m in obj) {
if (typeof obj[m] === "object") {
var val = findTreasure(obj[m], searchingName);
if (val) return val;
}
}
}
const obj = {
a: ["qwe", 124],
b: {
c: ["zaaaz"],
d: [{
treasure: 1755
}],
e: "treasure"
},
f: {
g: "key"
},
h: ["qwe", 124]
};
console.log(findTreasure(obj));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Подскажите пожалуйста, как реализовать подобную анимацию без сторонних библиотек или jQueryГифку изъял отсюда из следующего раздела:
Заранее извиняюсь за возможно банальный и туповатый вопрос - никогда прежде не имел ничего общего с angular