Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как правильно сделать поиск по массиву? (https://javascript.ru/forum/dom-window/76776-kak-pravilno-sdelat-poisk-po-massivu.html)

gsdev99 12.02.2019 15:52

Как правильно сделать поиск по массиву?
 
Здравствуйте. Подскажите, пожалуйста как правильно реализовать следующую логику. У меня есть следующий массив:
let people = [
    {
        id: 1,
        firstName: 'Alexey',
    },
    {
        id: 2,
        firstName: 'Slava'
    },
    {
        id: 3,
        firstName: 'Vlad'
    },
    {
        id: 4,
        firstName: 'Andrey',
    },
    {
        id: 5,
        firstName: 'Mikhail'
    },
    {
        id: 6,
        firstName: 'Stepan'
    }
]

И массив, например id
let arr = [4, 5, 2];

Как мне получить соответствующий массив:
[
    {
        id: 2,
        firstName: 'Slava'
    },
    {
        id: 4,
        firstName: 'Andrey',
    },
    {
        id: 5,
        firstName: 'Mikhail'
    }
]

j0hnik 12.02.2019 16:31

let result = people.filter(el=> arr.includes(el.id))

gsdev99 12.02.2019 16:35

Большое спасибо за помощь.

рони 12.02.2019 16:35

gsdev99,
<script>
let people = [
    {
        id: 1,
        firstName: 'Alexey',
    },
    {
        id: 2,
        firstName: 'Slava'
    },
    {
        id: 3,
        firstName: 'Vlad'
    },
    {
        id: 4,
        firstName: 'Andrey',
    },
    {
        id: 5,
        firstName: 'Mikhail'
    },
    {
        id: 6,
        firstName: 'Stepan'
    }
]
let arr = [4, 5, 2];
let result = people.filter(p => arr.includes(p.id));
document.write(JSON.stringify(result, null, 4))
  </script>

gsdev99 12.02.2019 16:51

Спасибо.


Часовой пояс GMT +3, время: 12:59.