Załóżmy, że mamy taką tablicę:
const arr = [
{is:false, val: '1'},
{is:false, val: '2'},
{is:true, val: '3'},
{is:false, val: '4'},
{is:true, val: '5'}
];
i przykład rozwiązania tego z pętlą for:
for(let i = 0; i < arr.length; i += 1) {
const elem = arr[i];
if (elem.is === true) {
console.log(elem.val);
break; // koniec pętli
}
}
// 3
albo np. z metodą Array.prototype.find
const firstElement = arr.find(elem => elem.is === true);
if (firstElement) {
console.log(firstElement.val);
}
// 3
Generalni nie patrz też mega na wydajność itp. bo w praktyce w większości sytuacji takich pętli na małych tablicach nie ma to znaczenia, i tak często stara wydajnościowa leży w zupełnie innych miejscach, dużej abstrakcji itp. itd. Zawsze jednak trzeba poszukiwać kompromisu między wydajnością, a prostotą developmentu i łatwością utrzymania kodu.
Możesz robić mega super zoptymalizowaną logikę, ale za chwilę może się okazać, że przyjdzie Ci wdrażać w ten kod jakiegoś juniora i co wtedy... ja stosuję raczej zasadę, że lepiej czasem nieco stracić na wydajności ale zyskać na czytelności i prostocie utrzymania oraz wdrażania się nowych osób.
W powyższych przypadkach celowo zrobiłem jawne przyrównanie do boolean zamiast po prostu id(elem.is) bo jest to tylko przykład aby jawnie wskazać Ci sposób i miejsce porównywania.