Javascript布尔数组操作

Javascript boolean array operations

本文关键字:操作 数组 布尔 Javascript      更新时间:2023-09-26

我有一个关于javascript中布尔逻辑的说明问题。

我有一个FOR圆圈,并创建了一个触发器事件,它将为IF语句存储TRUE或FALSE:

var trigger = [];
for (i = 0; i < 3; i++ ){
    //Checking for empty fields
    if(this.form.rows[i].fields[0].input.val() === '') {
        if($(this.form.rows[i].row[0]).length){
        bla bla bla
        trigger.push(true)
        }
        else {
        trigger.push(false);
        }
    }

所以最后,我想检查数组的每个语句是否有布尔运算符AND

if(trigger & ??? )

朋友们,有什么帮助吗?

基于您的一条评论

好的,如果数组中的每个语句为TRUE,我如何检查它,而不是返回真实

像这样,例如:

var alltrue = !/false/i.test(trigger.join(''));

(我用//@@@标记了新的代码行)我想你想检查一下每一句话是否属实。然后,有两种方法,取决于"bla-bla-bla"是否真的存在。

如果forloop只用于检查是否每个字段都是空的(即"bla-bla"是空的),并且之后没有使用触发器数组,那么您的If语句可以紧凑地写成:

var trigger = [];
var empty=false; //@@@
for (i = 0; i < 3; i++ ){
    //Checking for empty fields
    if(this.form.rows[i].fields[0].input.val() === '') {
        if($(this.form.rows[i].row[0]).length){
        }
        else {
        empty=true; //@@@
        break; //@@@
        }
    }
}

如果你想在之后使用触发器,可以这样做:

var trigger = [];
var dummy=[];  //@@@@
for (i = 0; i < 3; i++ ){
    //Checking for empty fields
    if(this.form.rows[i].fields[0].input.val() === '') {
        if($(this.form.rows[i].row[0]).length){
        bla bla bla
        trigger.push(true)
        }
        else {
        trigger.push(false);
        }
        dummy.push(true);   //@@@@
    }
//Use this if block:
if(dummy.toString()=trigger.toString()){
   //Insert stuff here
}
//Alternatively,  use this:
if(dummy && trigger){
   //Insert stuff here
}