Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.02.2019, 15:52
Аспирант
Отправить личное сообщение для gsdev99 Посмотреть профиль Найти все сообщения от gsdev99
 
Регистрация: 03.02.2019
Сообщений: 72

Как правильно сделать поиск по массиву?
Здравствуйте. Подскажите, пожалуйста как правильно реализовать следующую логику. У меня есть следующий массив:
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'
    }
]
Ответить с цитированием
  #2 (permalink)  
Старый 12.02.2019, 16:31
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

let result = people.filter(el=> arr.includes(el.id))
Ответить с цитированием
  #3 (permalink)  
Старый 12.02.2019, 16:35
Аспирант
Отправить личное сообщение для gsdev99 Посмотреть профиль Найти все сообщения от gsdev99
 
Регистрация: 03.02.2019
Сообщений: 72

Большое спасибо за помощь.
Ответить с цитированием
  #4 (permalink)  
Старый 12.02.2019, 16:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

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>
Ответить с цитированием
  #5 (permalink)  
Старый 12.02.2019, 16:51
Аспирант
Отправить личное сообщение для gsdev99 Посмотреть профиль Найти все сообщения от gsdev99
 
Регистрация: 03.02.2019
Сообщений: 72

Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно организовать подключение скриптов? s24344 Общие вопросы Javascript 0 31.12.2018 11:53
Как правильно сделать следующую верстку? s24344 (X)HTML/CSS 2 05.11.2018 12:37
Как правильно сделать массив и его использовать? Ihor20121993 Общие вопросы Javascript 3 16.10.2018 16:00
Как правильно реализовать такой функционал? Julian Общие вопросы Javascript 3 16.01.2015 12:34
Как правильно обновить div из БД в MVC??? espltd AJAX и COMET 2 11.04.2014 01:28