Если вам нужен один индекс, удовлетворяющий этому условию, вы можете использовать findIndex
из es6
или lodash
data.findIndex(a=>a.booleanProperty)
Если вам нужны все индексы, удовлетворяющие вашему условию, вы можете либо map
и filter
соединены последовательно (как показано в ответе бена ), или вы можете объединить их в один reduce
, чтобы выполнить итерацию только один раз и построить свой индексный массив.здесь мы идем:
data.reduce((r, a, i)=> (a.booleanProperty && r.push(i), r), [])
let data = [{"booleanProperty":false},{"booleanProperty":true},{"booleanProperty":false},{"booleanProperty":true},{"booleanProperty":false}];
let indexes = data.reduce((r, a, i)=> (a.booleanProperty && r.push(i), r), []);
console.log(indexes);