Javascript 如何在数组中查找布尔值?

Javascript 如何在数组中查找布尔值?,javascript,Javascript,我有一个布尔数组 var arr=[true,false,true,false,true] 我的要求: 如果数组包含布尔值true我想显示单个警报“数组包含真值”。警报不应为多个。 有人能建议如何用javascript实现吗?可以 var arr=[true,false,true,false,true] 如果(包括(真实)){ 警惕(“发现真实”); }可以 var arr=[true,false,true,false,true] 如果(包括(真实)){ 警惕(“发现真实”); }您也可以用

我有一个布尔数组

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

我的要求:

如果数组包含布尔值
true
我想显示单个警报“数组包含真值”。警报不应为多个。 有人能建议如何用javascript实现吗?

可以

var arr=[true,false,true,false,true]
如果(包括(真实)){
警惕(“发现真实”);
}
可以

var arr=[true,false,true,false,true]
如果(包括(真实)){
警惕(“发现真实”);
}
您也可以用于此目的

var arr = [true, false, true,false, true]
if(arr.some((elem)=> elem === true))
{
 console.log('contains true')
}
您也可以使用这个方法。如果没有找到,它将返回-1

if(arr.findIndex(elem=>elem === true)!=-1){
    console.log('contains true')
}
在内部使用
=
。所以你也可以用它

if(arr.some(elem=>Object.is(elem,true))){
   console.log('contains true')
}
也在内部使用
==

if(arr.indexOf(true) != -1){
   console.log('contains true')
}
有很多方法可供选择。选择一种适合您需要的方法。

您也可以用于此目的

var arr = [true, false, true,false, true]
if(arr.some((elem)=> elem === true))
{
 console.log('contains true')
}
您也可以使用这个方法。如果没有找到,它将返回-1

if(arr.findIndex(elem=>elem === true)!=-1){
    console.log('contains true')
}
在内部使用
=
。所以你也可以用它

if(arr.some(elem=>Object.is(elem,true))){
   console.log('contains true')
}
也在内部使用
==

if(arr.indexOf(true) != -1){
   console.log('contains true')
}
有很多种方法可供选择。选择一种适合您需要的方法。

您可以尝试以下方法:

for(var i=0; i<arr.length; i++){
    if(arr[i]){
        alert("Array contains a true value");
        break;
    }
}
for(var i=0;i您可以尝试以下方法:

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

for(var i=0;i您可以简单地使用Array.prototype.some,下面是代码

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

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

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


可能重复的Soumya,请注意,这不是免费站点的获取代码。您必须首先尝试,如果您最终遇到一些问题,请与我们分享您的尝试,我们将帮助您。可能重复的Soumya,请注意,这不是免费站点的获取代码。您必须首先尝试,如果您最终遇到一些问题,请共享pr如果您的尝试出现问题,我们将帮助您。我们是否应该将其改为dupe关闭?我们是否应该改为dupe关闭?首先,您应该使用
===
而不是
=
。其次,您可以使用
arr.some(x=>x===true)
。如果只有一行,则无需手动创建块并返回。第三,在
if
中使用循环机制作为条件不是一个好做法。最好将其保存在变量中并使用它。您可以使用==因为您正在比较同一类型的内容,也可以使用arr.some(x=>x),以及在if@SebastiánEspinosa
=
试图转换为字符串并进行比较,但是
true=='true'
是false,所以在我看来,添加
=
是错误的。使用
x=>x
也不是个好主意,因为OP明确地想要检查
true
而不是thuth值。第三,if-its中的条件在if-its明显之前进行评估。但关键是它属于不好的约定,至少对我来说是这样。有一个级别低于该级别时,简洁性会导致可读性的损失。你应该保持平衡。代码应该简短,但也应该可读。@Rajesh感谢你指出这一点。我应该使用严格的等式首先,您应该使用
===
而不是
=
。其次,您可以使用
arr.some(x=>x===true)
。如果只有一行,则无需手动创建块并返回。第三,在
if
中使用循环机制作为条件不是一个好做法。最好将其保存在变量中并使用它。您可以使用==因为您正在比较同一类型的内容,也可以使用arr.some(x=>x),以及在if@SebastiánEspinosa
=
试图转换为字符串并进行比较,但是
true=='true'
是false,所以在我看来,添加
=
是错误的。使用
x=>x
也不是个好主意,因为OP明确地想要检查
true
而不是thuth值。第三,if-its中的条件在if-its明显之前进行评估。但关键是它属于不好的约定,至少对我来说是这样。有一个级别低于该级别时,简洁性会导致可读性的损失。你应该保持平衡。代码应该简短,但也应该可读。@Rajesh感谢你指出这一点。我应该使用严格的等式首先,你是否检查了其他答案是否包含此方法?它包含了此方法。但此代码更简洁。因此,考虑添加。请参考我在该答案下的评论。此外,如果有一种简洁的方法用于某人的答案,则最好在其下进行评论。添加另一个答案是重复内容t、 你是否检查过其他答案是否包含此方法?它包含了此方法。但此代码更简洁。因此考虑添加。请参考我在该答案下的评论。此外,如果有一种简洁的方法来获取某人的答案,最好在其下对其进行评论。添加另一个答案是重复内容。有很多问题javascript中方便的内置方法可以很好地满足此目的,而不是使用普通for循环。在javascript代码中不应如此频繁地使用for循环,因为它会降低可读性。javascript中有很多方便的内置方法可以很好地满足此目的,而不是使用普通for循环。不应使用for循环在javascript代码中如此频繁,因为它降低了可读性。