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

时间:2014-11-20 13:07:59

标签: javascript arrays boolean

我正在学习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;
     

}

但是我只是初始化一个数组是一个非常困难的方法。任何人都知道另一种方法吗?

6 个答案:

答案 0 :(得分:18)

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

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

答案 1 :(得分:5)

您收到调试可能捕获的代码时出错。 int不是JS关键字。使用var,您的代码就可以正常运行。

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

DEMO

答案 2 :(得分:1)

它也可以是一种解决方案

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

答案 3 :(得分:1)

您可以使用Array.from Array.from({length: 5}, i => i = false);

答案 4 :(得分:0)

您可以使用Array.apply并映射...

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

答案 5 :(得分:0)

使用整数和按位运算会更有效吗?

<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>