Найти индекс элемента массива
Как найти индекс элемента массива где найден объект {active: true}
В массиве [null, null, {active: true}]
activeState.findIndex((item) => item === {active:true})
Ответы (2 шт):
Автор решения: 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)
);
// этот способ только для сериализуемых объектов, и при соблюдении порядка перечисления их свойств (что не всегда выполняется) - для прочих случаев, нужно будет написать функцию-компаратор с перебором всех собственных свойств обоих объектов