Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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 - Fatal编程技术网

Javascript 如何将多个布尔数组转换为单个布尔数组

Javascript 如何将多个布尔数组转换为单个布尔数组,javascript,Javascript,我发现很难找到最好的方法来获取相同长度的多个数组并将它们合并到一个真正值的数组中。因此,如果true位于索引位置,则新数组应具有true,否则只需保留false const array1 = [true, true, false, false, true] const array = [true, false, false, true, false] 输出为: [true, true, false, true, true] 您可以使用map执行此操作。它将为您生成新阵列。在映射中,

我发现很难找到最好的方法来获取相同长度的多个数组并将它们合并到一个真正值的数组中。因此,如果
true
位于索引位置,则新数组应具有
true
,否则只需保留
false

const array1 = [true, true, false, false, true]
const array = [true, false, false, true, false]
    
输出为:

[true, true, false, true, true]

您可以使用
map
执行此操作。它将为您生成新阵列。在
映射
中,有一些参数可以传递
当前值
迭代
,使用这些参数可以从第二个数组中获取数据,然后放入
|条件以获得预期的输出

const array1=[true,true,false,false,true];
常量数组=[true,false,false,true,false];
常量输出=数组1.map((val,i)=>val | |数组[i]);
控制台日志(输出)
您可以使用并检查
e
array[i]
中的任何一个
e
是否为true,这里
e
属于
array1
的每个元素,
array[i]
分别指
array
的每个元素。最后,在map函数中进行条件检查后,它将生成一个
newArray

const array1=[true,true,false,false,true];
常量数组=[true,false,false,true,false];
var newArray=array1.map((e,i)=>Boolean(e | array[i]);

console.log(newArray)
谢谢你,你能解释一下每个部分的作用吗,这样我就可以研究如何做了?好的,谢谢你,我会查出来的。非常有用,我尝试使用reduce.well explained:)由于“运算符优先级”,在本例中始终返回true的值,对吗?因为如果真的存在,它将优先于假,并被放入map返回的新数组中。对于初学者来说,这一点很重要,因为他们要理解为什么会返回真值。这是否回答了你的问题?这是一个数组的数组。对于简单的分离阵列没有答案。此外,这会将所有内容更改为数组内部长度的主数组长度,因此在其示例3布尔值中,我需要数组的原始长度相同。感谢您的输入,这非常有帮助。@learncodes123很高兴这对您有所帮助,祝您好运:)