Цикл if, пропускающий массив

1

У меня есть массив строк, таких как var arr = ['BUTTON','BADGE','CHECKBOX]' Теперь мне нужно условие if должно быть записано для строк, кроме тех, что присутствуют в массиве. Как я это сделал?? Я новичок и ничего не знаю о javascript. Заранее спасибо за помощь. Я попробовал var arr = ['BUTTON','BADGE','CHECKBOX]; if(!arr){//code to be executed } var arr = ['BUTTON','BADGE','CHECKBOX]; if(!arr){//code to be executed } Однако это всегда возвращает false.

  • 0
    Вы хотите проверить, присутствует ли строка в массиве или нет?
  • 0
    использование ES6 includes()
Показать ещё 4 комментария
Теги:
arrays

5 ответов

4

Вы можете использовать indexOf:

if(arr.indexOf(test_variable) === -1){
  // element doesn't exist in array
}
1

Я не совсем понимаю ваш вопрос, но, может быть, array.some может решить вашу проблему:

var someString = 'BADGE';
var arr = ['BUTTON','BADGE','CHECKBOX' ];

if (arr.some(str => str === someString)) {
    console.log("Exist");
} else {
    console.log("Doesn't exist");
}
1

Вот как это сделать:

var pippo = "pippo";

var arr = ['BUTTON','BADGE','CHECKBOX'];

if(arr.indexOf(pippo) > -1){ 
  console.log("contained!");
}
else{
  console.log("not contained!");
}
0

Прежде всего, последний элемент вашего массива/списка неправильно написан как строка, т.е. "CHECKBOX". Вы пропустили одну цитату в конце, поэтому она должна быть "CHECKBOX",

var arr = ['BUTTON','BADGE','CHECKBOX];

var arr = ['BUTTON','BADGE','CHECKBOX'];

Во-вторых, приходя к вашему фактическому запросу, согласно вашему вопросу, кажется, вы хотите запустить кусок кода, если строка отсутствует в массиве. Для этого вы можете использовать функцию array.indexOf(), которая возвращает позицию/индекс переменной в массиве, переданном ей как параметр, и если переменная отсутствует в массиве, она возвращает значение -1

Подробнее об этом: - https://www.w3schools.com/jsref/jsref_indexof_array.asp

Таким образом, код для этого будет:

var arr = ['BUTTON','BADGE','CHECKBOX'];
var str = 'foo';    //string not present in the array i.e arr
if(arr.indexOf(str) === -1) {
     //your code here
}
-3

длина будет работать для вас, если приходит 0, возвращает 0, когда в массиве нет элемента

var arr = ['BUTTON','BADGE','CHECKBOX'];

console.log(arr.length)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню