我正在学习 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;
}
但我发现这是初始化数组的一种非常困难的方法。有人知道另一种方法吗?
我知道已经晚了,但我发现了这种用布尔值初始化数组的有效方法
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>
const arr = Array.from({length: 5}, () => false)
console.log(arr.join(", "))