2014-11-20 3 views
3

Я изучаю javascript, и я хочу инициализировать логический массив в 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; 

}

Но я с очень сложным способом просто инициализировать массив. Кто-нибудь знает другой способ сделать это?

ответ

3

У вас возникла ошибка с кодом, который была бы отлажена. int - не ключевое слово JS. Используйте var, и ваш код работает отлично.

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

DEMO

+0

Wow! Спасибо! –

+1

Не забудьте остричь официантку на своем пути :) – Andy

+1

@AlbertoCrespo, кстати, что второй пример кода, который вы дали, был UnityScript, а не JavaScript. Они похожи в некотором смысле, но этот код никогда бы не работал за пределами среды Unity. – Andy

0

Вы можете использовать Array.apply и карту ...

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

5

Я знаю, что уже поздно, но я нашел этот эффективный метод для инициализации массива с Булевы значения

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

Смежные вопросы