Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 15.11.2018
Сообщений: 42

метод find

13.02.2021, 10:46. Показов 1337. Ответов 2

Студворк — интернет-сервис помощи студентам
Добрый день. делаю фильтр по категориям. this.activeId - это id активной дочерней категории (2/3/4 в коде) , он есть .
Но мне нужно через этот дочерний id достать имя дочерней категории

Пока что у меня получается дойти первого уровня массива:
JavaScript
1
let category = this.categories.find(t => t.id  === this.activeId)
Как правильно написать?
массив:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
const categories = [
    {
      id: 1,
      name: 'Овощи и фрукты',
      icon: 'vegetable',
      children: [
        { id: 2, name: 'Овощи'},
        { id: 3, name: 'Фрукты'},
        { id: 4, name: 'Ягоды'},
      ]
    }
  ]
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.02.2021, 10:46
Ответы с готовыми решениями:

Парсинг XML find(). Как заставить find() выбирать элементы только на первом уровне?
Пытаюсь распарсить XML-ответ от сервера. <reply> <sector> <users> <item> <sex>male</sex> ...

Метод find
Дана строка. Найдите в этой строке второе вхождение буквы f, и выведите индекс этого вхождения. Если буква f в данной строке встречается...

Метод Find
Доброе утро всем, подскажите пожалуйста почему у меня не получается в методе Find задать имя переменной в которой хранится тот или иной...

2
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
13.02.2021, 11:17
Лучший ответ Сообщение было отмечено СергейЧернов как решение

Решение

Здравствуйте.
СергейЧернов, судя по названиям, надо найти объект child, а не category?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class MyClass {
    constructor() {
        this.categories = [
            {
                id: 1,
                name: 'Овощи и фрукты',
                icon: 'vegetable',
                children: [
                    { id: 2, name: 'Овощи' },
                    { id: 3, name: 'Фрукты' },
                    { id: 4, name: 'Ягоды' },
                ]
            }
        ];
        this.activeId = 3;
    }
    doIt() {
        let child;
        for (let category of this.categories) {
            child = category.children.find(e => e.id === this.activeId);
            if(child) break;
        }
        console.log(child && child.name);
    }
}
let obj = new MyClass();
obj.doIt();
Добавлено через 2 минуты
----
Если интересен свежий синтаксис элвис-оператора из браузеров 2020 года:
console.log(child?.name);

Добавлено через 6 минут
----
Если одновременно нужна и категория, то можно завести поле/переменную для хранения activeCategory,
и в цикле в случае найденного child сохранить в activeCategory = category
2
1 / 1 / 0
Регистрация: 15.11.2018
Сообщений: 42
13.02.2021, 11:54  [ТС]
Добавлено через 34 секунды
Спасибо, за такой подробный ответ
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.02.2021, 11:54
Помогаю со студенческими работами здесь

метод find()
Привет друзья программисты )) Вопрос к вам) Скажу сразу мой алгоритм не работает. а именно когда блоков modal_wrap не остается блок...

метод find
Добрый день! Имеются столбцы А и B с данными необходимо написать макрос методом find найти значения А, которых нет в В и вывести их в...

Метод Range.Find
Доброго времени суток, уважаемые форумчане. Возникла такая проблема... В прикрепленном файле таблица. Excel 2007. Задача:...

Про метод find
Привет всем, подскажите может ли метод find возвращать не количество символов, а саму запись до найденного значения (строку или число) ...

метод find outlook
Здравствуйте! Не могу понять как задаввать фильтр для find. Мне нужно найти письмо с Категорией спам и переместить в др папку. Справка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru