Найти индекс элемента массива

Как найти индекс элемента массива где найден объект {active: true} В массиве [null, null, {active: true}]

activeState.findIndex((item) => item === {active:true})

Ответы (2 шт):

Автор решения: Lev Shportak
activeState.findIndex((item) => item&&item.active === true)
→ Ссылка
Автор решения: yar85
  • В случае поиска элемента массива по свойству active имеющему значение true (современный синтаксис, ES11+):

const activeState = [null, null, { active: true }];
console.log(
  activeState.findIndex(item => item?.active === true)
);


  • В случае поиска элемента массива буквального соответствующего объекту:

const activeState = [null, null, { active: true }],
      search = JSON.stringify({ active: true });
console.log(
  activeState.findIndex(item => JSON.stringify(item) === search)
);

// этот способ только для сериализуемых объектов, и при соблюдении порядка перечисления их свойств (что не всегда выполняется) - для прочих случаев, нужно будет написать функцию-компаратор с перебором всех собственных свойств обоих объектов

→ Ссылка