如何在数组中找到bool值?

时间:2018-02-05 05:01:20

标签: javascript

我有一个bool阵列。

var arr = [true, false, true,false, true]

我的要求:

如果数组包含bool值true,我想显示一个警告'数组包含一个真值'。警报不应该是多重的。 有人可以建议如何在javascript中实现它吗?

5 个答案:

答案 0 :(得分:4)

includes会做



var arr = [true, false, true,false, true]
if(arr.includes(true)){
alert("true found");
}




答案 1 :(得分:2)

您也可以将Array.prototype.some 用于此目的。

var arr = [true, false, true,false, true]
if(arr.some((elem)=> elem === true))
{
 console.log('contains true')
}

您也可以使用Array.prototype.findIndex方法。如果没有找到它将返回-1。

if(arr.findIndex(elem=>elem === true)!=-1){
    console.log('contains true')
}

Object.is ( ) 在内部使用===。所以你也可以使用它

if(arr.some(elem=>Object.is(elem,true))){
   console.log('contains true')
}

array.prototype.indexOf 也在内部使用===

if(arr.indexOf(true) != -1){
   console.log('contains true')
}

有很多方法可供选择。选择一个适合您需要的方式。

答案 2 :(得分:0)

您可以使用indexOf功能。

如果它不包含true,则返回数字-1。

var arr = [true, false, true,false, true];

if(arr.indexOf(true) >= 0)
{
    alert('got it');
}

答案 3 :(得分:0)

你可以试试这个:

for(var i=0; i<arr.length; i++){
    if(arr[i]){
        alert("Array contains a true value");
        break;
    }
}

OR

var b = false;
for(var i=0; i<arr.length; i++)
    b = b || arr[i];

if(b) 
    alert("Array contains a true value");

答案 4 :(得分:0)

你可以简单地使用Array.prototype.some,以下是代码。

let arr = [true, false, true,false, true]
if(arr.some(e=>e))
  alert("true is included in the array");