省略数组的if循环

时间:2017-10-27 12:27:51

标签: javascript arrays

我有一个像var arr = ['BUTTON','BADGE','CHECKBOX]'这样的字符串数组 现在我需要为字符串写入if条件,除了数组中存在的条件。我怎么做?? 我是初学者,对javascript一无所知。在此先感谢您的帮助。 我试过var arr = ['BUTTON','BADGE','CHECKBOX]; if(!arr){ //code to be executed } 但是这总是返回false。

5 个答案:

答案 0 :(得分:4)

您可以使用indexOf

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

答案 1 :(得分: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");
}

答案 2 :(得分:1)

这是怎么做的:



localStorage.setItem('countDownValue', curtime); // To set the value
...
curtime = localStorage.getItem('countDownValue'); // To get the value




答案 3 :(得分: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
}

答案 4 :(得分:-3)

如果为0,则长度适用于您,当数组集中不存在元素时返回0

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

console.log(arr.length)