如何在javascript中初始化一个布尔数组
Posted
技术标签:
【中文标题】如何在javascript中初始化一个布尔数组【英文标题】:How to initialize a boolean array in javascript 【发布时间】:2015-01-18 08:43:21 【问题描述】:我正在学习 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;
但我发现这只是初始化数组的一种非常困难的方法。有人知道另一种方法吗?
【问题讨论】:
【参考方案1】:您可以使用Array.from
Array.from(length: 5, i => i = false);
【讨论】:
【参考方案2】:它也可以是一种解决方案
var boolArray = [true,false];
console.log(boolArray);
【讨论】:
【参考方案3】:使用整数和位运算不是更有效吗?
<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>
【讨论】:
【参考方案4】:我知道已经很晚了,但我发现了这种用布尔值初始化数组的有效方法
var numeroPerguntas = 5;
var anyBoxesChecked = new Array(numeroPerguntas).fill(false);
console.log(anyBoxesChecked);
【讨论】:
很好的答案。要了解有关该方法的更多信息,请参阅developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 补充说明,IE不支持此方法 是一维还是二维?【参考方案5】:你可以使用 Array.apply 和 map...
var numeroPerguntas = 5;
var a = Array.apply(null, new Array(numeroPerguntas)).map(function()return false);
alert(a);
【讨论】:
【参考方案6】:您遇到了调试会发现的代码错误。 int
不是 JS 关键字。使用var
,您的代码就能完美运行。
var anyBoxesChecked = [];
var numeroPerguntas = 5;
for (var i = 0; i < numeroPerguntas; i++)
anyBoxesChecked.push(false);
DEMO
【讨论】:
出门时别忘了给女服务员小费 :) @AlbertoCrespo,顺便说一下,您提供的第二个代码示例是 UnityScript 而不是 JavaScript。它们在某些方面很相似,但这些代码永远不会在 Unity 环境之外运行。 谢谢,我不知道那个存在! 惊人的答案非常有用以上是关于如何在javascript中初始化一个布尔数组的主要内容,如果未能解决你的问题,请参考以下文章
如果数组中的所有值都为真(字符串)并且其中一个值为假(字符串),则如何返回布尔值 true 停止使用 Javascript 进行检查