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



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

我尝试这样做:

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

但它不起作用。

谷歌搜索后,我只发现了这种方式:

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

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

我知道

已经晚了,但我找到了这种有效的方法来初始化带有布尔值的数组

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

您收到调试会捕获的代码错误。 int不是JS关键字。使用var,您的代码可以完美运行。

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

演示

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

它也可以是一個解決方案

var boolArray = [true,false];
console.log(boolArray);
您可以使用

Array.apply 和 map...

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

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

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

最新更新