如何在javascript中初始化一个布尔数组

Posted

技术标签:

【中文标题】如何在javascript中初始化一个布尔数组【英文标题】:How to initialize a boolean array in javascript 【发布时间】:2015-01-18 08:43:21 【问题描述】:

我正在学习 javascript,我想在 javascript 中初始化一个布尔数组。

我试过这样做:

 var anyBoxesChecked = [];
 var numeroPerguntas = 5;     
 for(int i=0;i<numeroPerguntas;i++)
 
    anyBoxesChecked.push(false);
 

但它不起作用。

谷歌搜索后我只找到this方式:

 public var terroristShooting : boolean[] = BooleanArrayTrue(10);
 function BooleanArrayTrue (size : int) : boolean[] 
     var boolArray = new boolean[size];
     for (var b in boolArray) b = true;
     return boolArray;
 

但我发现这只是初始化数组的一种非常困难的方法。有人知道另一种方法吗?

【问题讨论】:

【参考方案1】:

您可以使用Array.from Array.from(length: 5, i =&gt; i = false);

【讨论】:

【参考方案2】:

它也可以是一种解决方案

var boolArray = [true,false];
console.log(boolArray);

【讨论】:

【参考方案3】:

使用整数和位运算不是更有效吗?

<script>
var boolarray = 0;

function comparray(indexArr) 
  if (boolarray&(2**(indexArr))) 
    boolarray -= 2**(indexArr);
    //do stuff if true
   else 
    boolarray += 2**(indexArr);
    //do stuff if false
  

</script>

【讨论】:

【参考方案4】:

我知道已经很晚了,但我发现了这种用布尔值初始化数组的有效方法

    var numeroPerguntas = 5;     
    var anyBoxesChecked = new Array(numeroPerguntas).fill(false);
    console.log(anyBoxesChecked);

【讨论】:

很好的答案。要了解有关该方法的更多信息,请参阅developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 补充说明,IE不支持此方法 是一维还是二维?【参考方案5】:

你可以使用 Array.apply 和 map...

var numeroPerguntas = 5;  
var a = Array.apply(null, new Array(numeroPerguntas)).map(function()return false);
alert(a);

【讨论】:

【参考方案6】:

您遇到了调试会发现的代码错误。 int 不是 JS 关键字。使用var,您的代码就能完美运行。

var anyBoxesChecked = [];
var numeroPerguntas = 5;     
for (var i = 0; i < numeroPerguntas; i++) 
  anyBoxesChecked.push(false);

DEMO

【讨论】:

出门时别忘了给女服务员小费 :) @AlbertoCrespo,顺便说一下,您提供的第二个代码示例是 UnityScript 而不是 JavaScript。它们在某些方面很相似,但这些代码永远不会在 Unity 环境之外运行。 谢谢,我不知道那个存在! 惊人的答案非常有用

以上是关于如何在javascript中初始化一个布尔数组的主要内容,如果未能解决你的问题,请参考以下文章

c++如何定义布尔型数组使其初始值为true?

如果数组中的所有值都为真(字符串)并且其中一个值为假(字符串),则如何返回布尔值 true 停止使用 Javascript 进行检查

Javascript - 带有布尔键的数组?

Javascript - 如何按 3 种不同的属性类型对对象数组进行排序? (字符串、整数、布尔值)

多维布尔数组检查Javascript中是不是全部为真

c++如何定义布尔型数组使其初始值为true?