Есть объект с вложениями, нужно отфильтровать его ветки по нужному значению в листе.
Дано:
let data = '[{"caption":"Настройки","commands":[{"caption":"Основные","commands":[{"caption":"Цены"},{"caption":"Типы цен"},{"caption":"Первичные документы"},{"caption":"Настройка отображения ТМЦ в первичных документах"},{"caption":"Настройка первичных документов"}]},{"caption":"Общие настройки","commands":[{"caption":"Глобальные настройки"},{"caption":"Типы процессов"},{"caption":"Тип процесса (функция)"},{"caption":"Нумераторы"},{"caption":"Тип нумератора"},{"caption":"Нумератор"},{"caption":"Календарь"},{"caption":"Тип календаря"},{"caption":"Рабочий календарь"},{"caption":"Сервисы"},{"caption":"Заполнение пустых кодов"},{"caption":"Заполнить RTClass"}]}]}]';
Ожидается
let dataRES = '[{"caption":"Настройки","commands":[{"caption":"Основные","commands":[{"caption":"Первичные документы"}]}]}]';
То, что набросал, но почему-то не получается
let data = '[{"caption":"Настройки","commands":[{"caption":"Основные","commands":[{"caption":"Цены"},{"caption":"Типы цен"},{"caption":"Первичные документы"},{"caption":"Настройка отображения ТМЦ в первичных документах"},{"caption":"Настройка первичных документов"}]},{"caption":"Общие настройки","commands":[{"caption":"Глобальные настройки"},{"caption":"Типы процессов"},{"caption":"Тип процесса (функция)"},{"caption":"Нумераторы"},{"caption":"Тип нумератора"},{"caption":"Нумератор"},{"caption":"Календарь"},{"caption":"Тип календаря"},{"caption":"Рабочий календарь"},{"caption":"Сервисы"},{"caption":"Заполнение пустых кодов"},{"caption":"Заполнить RTClass"}]}]}]';
function f(data, searchValue) {
return data.filter((item) => {
if (item.commands) {
let res = f(item.commands, searchValue);
if (res.length > 0) {
return res
}
} else {
if (item.caption.toLowerCase() === searchValue.toLowerCase()) {
return item.caption;
}
}
})
}
let dd = JSON.parse(data);
console.log('dd', dd);
let newArr = f(dd, 'Первичные документы');
console.log('>>>newArr', newArr);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите пожалуйста, нужно сделать слайдер на сайт как на картинкеПри клике на стрелку или пагинацию блок должен меняться
Есть некий скрипт, который должен получить из запроса POST параметры и записать их в таблицу Google SheetВот код скрипта: