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