Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Поиск по ассоциативному массиву (https://javascript.ru/forum/css-html/77079-poisk-po-associativnomu-massivu.html)

Universa1 22.03.2019 12:39

Поиск по ассоциативному массиву
 
Пример:
(7) [{…}, {…}, {…}, {…}, {…}, {…}, {…}]

0: {Id: 62, Label: ""} 0:Id: 62 Label: ""1: {Id: 20, Label: ""}
2: {Id: 22, Label: ""}
3: {Id: 24, Label: ""}
4: {Id: 31, Label: ""}
5: {Id: 5, Label: ""}
6: {Id: 53, Label: ""}

Подскажите как по входящему Id вернуть его Label

Nexus 22.03.2019 13:10

Пробежаться по всем элементам массива в поисках нужного.
Если искать нужно не единожды, то разумно "индексировать" массив.

Universa1 22.03.2019 13:41

Цитата:

Сообщение от Nexus (Сообщение 505181)
Пробежаться по всем элементам массива в поисках нужного.
Если искать нужно не единожды, то разумно "индексировать" массив.

как это можно быстро сделать без arrayHasOwnIndex

Universa1 22.03.2019 13:47

вопрос закрыт

Nexus 22.03.2019 13:58

const list = [{}, {}, {}]; //ваш массив
function getById(id) {
    for (let i = 0; i < list.length; i++) {
        if (list[i].Id === id)
            return list[i];
    }

    return undefined;
}

const item = getById(1);
if (!item)
    alert('Не нашел');
else
    alert(item.Label);


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