Условие при наличии двух совпадений
Добрый день. Помогите решить вопрос. У меня есть массив данных, внутри которого могут быть цифры, допустим от 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, время: 17:24. |