Как извлечь свойство из массива объектов, соответствующих определенным символам (содержит запрос) - PullRequest
2 голосов
/ 29 мая 2019

У меня есть любой массив объектов, имеющих свойства id и title. Я хочу получить идентификаторы всех объектов, которые содержат символы, введенные пользователем в свойствах title

>[{ID: 3, Title: "License 1"},
{ID: 4, Title: "License 2"},
{ID: 36, Title: "License 3"},
{ID: 37, Title: "License 4"},
{ID: 38, Title: "sense 4"}]

это образец массива, если пользователь вводитЛицензия должна вернуть мне массив n = [3,4,36,37]

Ответы [ 2 ]

2 голосов
/ 29 мая 2019

Вы можете использовать регулярные выражения , а также Методы массива , чтобы соответствовать поиску символов:

const arr = [{ ID: 3, Title: 'License 1' }, ... ];
const query = 'lic';
const reg = new RegExp('.*' + query + '.*', 'gi');

arr.filter((x) => x.ID.match(reg)).map((x) => x.ID);
// [3, 4, 36, 37, ...]
0 голосов
/ 29 мая 2019

Простой цикл по массиву и добавление элементов в новый массив.

  var i;
    var array = [{ID: 3, Title: "License 1"},
    {ID: 4, Title: "License 2"},
    {ID: 36, Title: "License 3"},
    {ID: 37, Title: "License 4"},
    {ID: 38, Title: "sense 4"}]


    var lic = [];

    for (i = 0;i < array.length; i++){
        lic.push(array[i].ID);
    }

    console.log(lic);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...