Условие при наличии двух совпадений
Добрый день. Помогите решить вопрос. У меня есть массив данных, внутри которого могут быть цифры, допустим от 1 до 10:
var array = [1,2,3,4,5,6,7,8,9,10]; Задаю условие, если в массиве есть такая то то цифра то условие выполняется, например: for (i = 0; i < array.length; i++){ if(array[i] == 5){ // выполняем что нибудь } if(array[i] == 2){ // выполняем что нибудь другое } } но, если в массиве есть несколько интересующих меня цифр, я не могу задать условие. Я делал так, это не работает: for (i = 0; i < array.length; i++){ if(array[i] == 5 && array[i] == 2){ // выполняем что нибудь эдокое } } Я примерно представляю что можно обойтись и без for: array.indexOf('1'); Но не особо представляю как задать грамотно несколько значений. Нужно чтобы если найдены несколько нужных совпадений не выполнялось условие где только одно совпадение, например: if(array.indexOf('5') != -1){ // выполняем что нибудь } if(array.indexOf('2') != -1){ // выполняем что нибудь другое } if(array.indexOf('5') != -1 && array.indexOf('2') != -1){ // выполняем что нибудь эдакое, но не выполняем все остальное где найдены те же цифры } |
if(arr.includes(5) && arr.includes(2)) // что то делаем else if(arr.includes(5)) // что то делаем else if(arr.includes(2)) // что то делаем |
j0hnik,
Попробую, спасибо :thanks: |
Такс у меня заминка. Массив на самом деле примерно такой:
var array = [1,2,3, [{object:1},{object:2},{object:3}]] Я пробовал написать так, но ничего не вышло: array[3][0].object.includes(1) // так не вышло Пишет нет такой функции, и только таким образом можно написать будет?: for (i = 0; i < array[3].length; i++){ if(array[3][i].object.includes(2)){ //такие дела } И да искать надо только в объекте array[3][i].object |
var str = JSON.stringify(array[3]); if(str.includes(5) && str.includes(2)) else if(str.includes(5)) else if(str.includes(2)) |
j0hnik,
var array = [1,2,3, [{object:1},{object:25},{object:3}]] var str = JSON.stringify(array[3]); if(str.includes(5) && str.includes(2)) alert('Ура!'); |
j0hnik,
Спасибо, ато я уже опять за старое, хотел так сделать: :write: var number = []; for (i = 0; i < array[3].length; i++){ number[i] = + array[3][i].object; } number.includes(1) // и тогдалие... Спасибо :thanks: |
Dilettante_Pro,
var a = array[3].map(el=>el.object); if(a.includes(5) && a.includes(2)) else if(a.includes(5)) else if(a.includes(2)) |
Dilettante_Pro,
j0hnik, Спасибо вам :thanks: |
Часовой пояс GMT +3, время: 12:29. |