Поиск по массиву JavaScript

339
07 июля 2017, 08:25

У меня имеется массив на JS содержащий в себе числовые значения:

var massiv = [
    "100", "101", "456", "1000", "321"
]

И имеется переменная:

var peremennaya = "101"

Задача: если переменная совпадает с одним из значений массива то необходимо выполнить действие. Например:

alert = "Нашлось 101"

В массиве находятся исключительно числовые значения, но в кавычки обернуты они для универсальности, как мне кажется, т.е. чтобы скрипт не только сравнивал значения

==

но и находил буквенные совпадения.

Если можно, хотелось бы увидеться пример с пояснениями каждого шага в виде комментариев или как удобно.

Answer 1

var peremennaya = 101; 
var massiv = [ 
    100, 101, 456, 1000, 321 
]; 
 
 
if (massiv.indexOf(peremennaya) != -1) 
  console.log('Массив содержит значение ' + peremennaya);

Тут и пояснять нечего. Метод indexOf() возвращает первый индекс, по которому данный элемент может быть найден в массиве или -1, если такого индекса нет.

Более подробные и разнообразные примеры применения метода можно посмотреть по ссылке, указанной выше.

Answer 2

На примере цикла for

var massiv = [ 
    "100", "101", "456", "1000", "321" 
] 
var peremennaya = "101"; 
 
for (i = 0; i < massiv.length; i++) { 
if (peremennaya == massiv[i]) { 
alert("Мы нашли "+massiv[i]) 
} 
}

Answer 3

вот на православном js есть спец функция поиска по критерию
и если будет множественное вхождение элемента в массив

var peremennaya = 101 ; 
var massiv = [100, 101, 456, 1000, 321]; 
var itog = massiv.filter(item => { 
  return item === peremennaya; // тут логика сравнения  
}); 
 
console.log(itog);

READ ALSO
props to options react apollo

props to options react apollo

Нужно передать userID которая поступает в компонент из вне через props в переменную в запросе USER_QUERYПриведенный ниже пример не работает, как все...

241
onclick срабатывает один раз

onclick срабатывает один раз

почему onclick один раз срабатывает )в форме если что добавляется textarea потом как нажимается крестик чтобы закрыть формуудаляется и textarea )я уже...

511