JS Как имея название параметра внутри объекта найти его(просмотрев все вложенные объекты) и!!! получить к нему путь? Приветствую господа, помогите!!
имеем параметр name, все хорошо, просто отлично!
имеем объект:
object {
client: {
name: 'Вася'
phone: '799999999'
}
order: {
param1: '2122'
param2: '1231'
}
}
Как найти путь к этому name?
то есть получить ------> object.client.name
если параметр param2 то соответственно object.order.param2
p.s. объекты большие, но повторений параметров нет, если использовать for in не могу вывести путь....

21 Авг 2019 в 07:05
182 +1
0
Ответы
1

Для того, чтобы найти путь к параметру внутри объекта, можно использовать рекурсивную функцию. Вот пример такой функции:

function findPath(obj, targetKey, path = '') {
for (let key in obj) {
if (typeof obj[key] === 'object') {
let result = findPath(obj[key], targetKey, path + key + '.');
if (result) {
return result;
}
} else if (key === targetKey) {
return path + key;
}
}
return null;
}
// Проверка работы функции
const obj = {
client: {
name: 'Вася',
phone: '799999999'
},
order: {
param1: '2122',
param2: '1231'
}
};
const targetKey = 'name';
const path = findPath(obj, targetKey);
console.log(path); // Выведет 'client.name'

Эта функция пройдет по всем свойствам объекта, и если найдет целевой ключ, то вернет путь к нему. Таким образом, при вызове функции findPath(obj, 'name'), вы получите путь client.name.

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 96 091 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир