Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用一些运算符组合两个数组?_Javascript_Jquery_Arrays_Arraylist_Operators - Fatal编程技术网

Javascript 如何使用一些运算符组合两个数组?

Javascript 如何使用一些运算符组合两个数组?,javascript,jquery,arrays,arraylist,operators,Javascript,Jquery,Arrays,Arraylist,Operators,我有两个数组,如下所示 var arr1 = [false, true, false]; var arr2 = [And, Or, null]; 现在我用操作符交换来制作这个双数组 并替换为&& 或替换为|| 这有可能实现吗 现在我预期的结果是 var result = false && true || false; if(result){ // when result true, } else{ // when result false } 请给出你的答案 只有当a

我有两个数组,如下所示

var arr1 = [false, true, false];

var arr2 = [And, Or, null];
现在我用操作符交换来制作这个双数组

并替换为&& 或替换为||

这有可能实现吗

现在我预期的结果是

var result = false && true || false;

if(result){
// when result true, 
}

else{
// when result false
}

请给出你的答案

只有当arr1和arr2满足这两个条件时,它才会起作用

  • arr2应该只有两种类型的值“和”和“或”
  • arr2的长度应为arr1。长度-1
  • var arr1=[false,true,false];
    var arr2=['And','Or',null];
    arr2=arr2.map(val=>{
    val=val==“和”?“&&&”:val;
    val=val==“或”?“| |”:val;
    返回val;
    })
    var resultantArray=arr1.reduce((对象、值、索引)=>{
    目标推力(val);
    如果(arr2[index]&&indexconsole.log(false)您可以使用操作数字符串和用于收集所有运算符的对象,并通过获取相同索引的函数和返回函数调用的值来减少具有值的数组

    var fn={和:(a,b)=>a&&b,或:(a,b)=>a&&b,标识:a=>a},
    
    操作数=[假、真、假], 运算符=['和','或',null], 结果=操作数.reduce((a,b,i)=>(fn[运算符[i]]| | fn.identity)(a,b));
    控制台日志(结果)什么是
    ?你试过什么?!简单!我有两个数组。一个是布尔,另一个是操作员。我需要将两者结合起来,并交换运算符,如And(&&),或(| |)。我理解您的问题。问题代码仍然无效,请看一看,不清楚您试图解决的问题是什么。您如何确定结果
    false&&true|false你能解释一下吗?@GokulKumar是的,我明白这对创建逻辑没有意义。您的问题不明确。优先级是给定的顺序。
    true&&false | | false&&true
    将是
    false
    如果您遵循布尔代数。操作数=[false,true,false],运算符=['or','or',null],它作为false给出。但实际上它应该返回true。谢谢你的更新,但是这个输出考虑为一个字符串。例如,您可以检查if条件,它返回的总是true。
    它返回的总是true
    意味着什么?对于上面的示例,如果您使用
    var arr2=['Or','Or',null],它将处于错误状态此数组,然后您将获得true。