Введение
В этом лабе мы исследуем, как получать вложенные значения в объектах JavaScript с помощью функции dig. Эта функция может быть использована для извлечения определенного значения из сложного вложенного объекта, что делает доступ к необходимой информации проще. В ходе этого лабара вы научитесь использовать оператор in и метод reduce() для обхода вложенных объектов и поиска целевого значения.
Как получить вложенное значение в JSON-объекте
Для извлечения целевого значения из вложенного JSON-объекта по заданному ключу следуйте этим шагам:
- Откройте Терминал/SSH и введите
node, чтобы начать практиковать программирование. - Проверьте, существует ли
targetвobj, используя операторin. - Если
targetнайден, верните соответствующее значение вobj. - Если
targetне найден, используйтеObject.values()иArray.prototype.reduce(), чтобы рекурсивно вызывать функциюdigдля каждого вложенного объекта, пока не будет найдена первая пара ключ/значение, соответствующая условию.
Вот код для функции dig:
const dig = (obj, target) =>
target in obj
? obj[target]
: Object.values(obj).reduce((acc, val) => {
if (acc !== undefined) return acc;
if (typeof val === "object") return dig(val, target);
}, undefined);
Для использования функции dig сначала создайте JSON-объект с вложенными уровнями, например, так:
const data = {
level1: {
level2: {
level3: "some data"
}
}
};
Затем вызовите функцию dig с JSON-объектом и желаемым ключом:
dig(data, "level3"); // 'some data'
dig(data, "level4"); // undefined
Эти примеры вернут значение ключа level3 в объекте data и undefined для несуществующего ключа level4.
Резюме
Поздравляем! Вы завершили лабу по получению вложенного значения в объекте. Вы можете практиковать в других лабах в LabEx, чтобы улучшить свои навыки.