@lexstile

Как выбрать нужные элементы одного массива, сравнив данные с другим массивом?

Есть такие массивы:
const dictionary = [
    {
        id: '4e21e39b-3cce-4721-b1cc-9ca89a23ef89', // совпадает
        code: 'seller',
    },
    {
        id: '6e21e39b-4cce-1276-b3cc-9ca89a23ef23',
        code: 'reseller',
    },
    // ...
];

const items = [
    {
        id: '2e21e39b-3cce-3294-b1cc-9ca89a23ef12',
        role: '4e21e39b-3cce-4721-b1cc-9ca89a23ef89', // совпадает
    },
    {
        id: '8e21e39b-0cce-3294-b1cc-9ca89a23ef45',
        role: '6e21e39b-4cce-1276-b3cc-9ca89a23ef23',
    },
    // ...
];

Нужно выбрать все элементы из массива items, которые связаны с code: 'seller' другого массива (dictionary ).
К id напрямую привязываться нельзя. Если меняется id элемента массива dictionary, то меняется и значение role из другого массива соответствующего элемента.
Желательно использовать lodash { get, find } . Возможно, что-то еще.
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
zendor
@zendor
Так?
const res = items.filter(o => dictionary.some(v => v.code == 'seller' && v.id == o.role));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы