Если вам нужны индексы с selected
= true, то вы можете сделать что-то подобное, используя reduce
.Если текущий элемент в контексте имеет значение selected
=== true, добавьте индекс в аккумулятор, иначе верните аккумулятор.В настоящее время вы добавляете -1
, если условие false
let options = [
{label: 'foo1', selected: false},
{label: 'foo2', selected: true},
{label: 'foo2', selected: false},
{label: 'foo2', selected: false},
{label: 'foo2', selected: false},
];
const selectedIndexes = options.reduce((r, o, i) => o.selected ? r.concat(i) : r, [])
console.log(selectedIndexes)
Если вам нужен весь объект, вы можете просто использовать filter
:
let options = [{label:'foo1',selected:false},{label:'foo2',selected:true},{label:'foo2',selected:false},{label:'foo2',selected:false},{label:'foo2',selected:false},];
const filtered = options.filter(o => o.selected)
console.log(filtered)