Javascript вопрос.Javascript Достаточно ли установить значение boolean в массиве?
Как указано в заголовке, это нормально, чтобы установить логические значения (true
или false
) в массив и проверить, будет ли после этого один из этих выходов в массиве?
Предположим, у меня есть функция, которая возвращает либо true
, либо false
.
Пример кода: (используя JQuery)
var abort = [];//make an empty array
function someFunc() {
var returnVal = false;
if(some condition) {
returnVal = true;
return returnVal;
}
return returnVal;
}
someElement.each(function() {
abort.push(someFunc()); //push true or false in array
});
//abort array will look eventually something like...
//[true, false, true, false, false, true, ...]
//check if `true` exists in array jQuery approach
var stop = ($.inArray(true, abort) > -1) ? true : false ;
if(stop) {
console.log('TRUE FOUND AT LEAST ONE IN ARRAY!');
}
Это кажется нормально работает. Но мне было просто интересно, если это правильный путь ...
Почему вы даже думаете, что не будет добавлено булево значение в массив? Вы можете поместить любое значение в массив! –
Отлично. Я бы сократил его до функции function somefunc() {return (some condition)} '. И еще более общий: вы используете позже 'Boolean' в' abort'? Если нет, достаточно одного глобального: 'someElement.each (function() {if (! Stop) {stop = someFunc()};});' в этом случае также заменяет материал '.inArray'. – virtualnobi
сколько булевых вам нужно? потому что одно целое может быть удобно использовать и иметь отличные результаты, если вы используете менее 31 логических элементов. Например, вы можете посмотреть мой ответ на этот вопрос: http://stackoverflow.com/questions/18547164/how-to-use-unit8array-in-javascript/18548027#18548027 – GameAlchemist