JavaScript

есть ли JS что-то типо for(i in array, array[i] == 1) сделать то-то else сделать другое

надеюсь понятно продемонстрировал, спасибо за ответы)
Что-то типо for(i in array, array[i] == 1) это includes, indexOf и lastIndexOf, filter,some,findIndex,find А также в этот зоопарк можно закинуть reduce и reduceRight forEach, map, for( in ), for( of )
И это ВСЁ что-то типо for(i in array, array[i] == 1)

Как видите инструментов предостаточно возможно я про что-то и забыл!

arr=[5,2,6,5,7,2,3,1,3,4]

arr.includes(1);//true если есть хоть одно совпадение

arr.indexOf(1);//7 индекс первого совпадения если нет то -1

arr.lastIndexOf(1);//11 идекс последнего совпадения если нет то -1

arr.filter(a=>a==1);//[1, 1, 1] массив совпадений

arr.some(a=>a==1);//true почти тоже самое что includes но круче

arr.findIndex(a=>a==1);//7 почти тоже самое что indexOf но круче

arr.find(a=>a==1);//1 до первого совпадения вернёт значение совпадения

arr.forEach((a,b)=>a==1&&console.log(b));//циклическое выполнение функции для каждого элемента массива

arr.reduce((a,b,c)=>(b==1&&a.push([b,c]),a),[]);// Это вообще универсальный швейцарский нож даже описывать нет смысла читай девелоперы

for (a in arr) arr[a]==1&&console.log(a);//7 9 11

for (a of arr) a==1&&console.log(a);//1 1 1

Женя Бакшаев
Женя Бакшаев
50 119
Лучший ответ
Может так?
for(i in array)
if (array[i] == 1) { что-то }
else { что-то другое }
Владимир Быканов просто если первая равно двум, а второе равно единицы, то else не должно выполняться :|
Если совсем извратиться :)

var array = { a: 1, b: 2, c: 3, d: 2, f: 4 };
// Останутся только ключи где свойства не равны 2
Object.keys( array ).filter( k => array[k] !== 2 ).forEach( p => {
console.log( array[p] ); // 3 итерации 1,3 и 4
} );

Но это если принципиально объект а не массив

PS: просто не понятно какая задача, какие данные и что вы хотите
AS
Ali Seferov
6 545
Женя Бакшаев array = { a: 1, b: 2, c: 3, d: 2, f: 4, e:1,g:1,h:3};
Object.entries(array).forEach(a=>a[1]==1&&console.log(a[0],a[1]));// ;)