我正在学习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;
}
但是我只是初始化一个数组是一个非常困难的方法。任何人都知道另一种方法吗?
答案 0 :(得分:18)
我知道它已经很晚了,但我找到了这种用布尔值初始化数组的有效方法
var numeroPerguntas = 5;
var anyBoxesChecked = new Array(numeroPerguntas).fill(false);
console.log(anyBoxesChecked);
&#13;
答案 1 :(得分:5)
您收到调试可能捕获的代码时出错。 int
不是JS关键字。使用var
,您的代码就可以正常运行。
var anyBoxesChecked = [];
var numeroPerguntas = 5;
for (var i = 0; i < numeroPerguntas; i++) {
anyBoxesChecked.push(false);
}
答案 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>