如何用ES6方法对两个布尔数组执行逐元素逻辑与运算?
使用ES6实现数组对应元素的逻辑与运算
这事儿用ES6的map方法就能轻松搞定,完美匹配你的需求!
核心思路是利用Array.prototype.map()遍历其中一个数组,同时通过索引拿到另一个数组对应位置的元素,然后对两者执行逻辑与(&&)运算,最后map会自动把所有运算结果组装成新数组返回。
具体代码如下:
const first = [true, false, true, false]; const second = [true, true, false, false]; // 遍历first数组,通过索引获取second对应元素做逻辑与运算 const result = first.map((currentItem, index) => currentItem && second[index]); console.log(result); // 输出: [true, false, false, false]
简单拆解下这段代码:
map的回调函数接收两个参数:currentItem是first数组当前遍历到的元素,index是该元素的索引值- 借助
index我们可以精准定位到second数组的对应元素,再用&&完成逻辑与运算 - 每一次运算的结果都会被自动收集,最终生成你需要的结果数组
⚠️ 小提醒:如果两个数组长度不一致,map会以调用它的数组(这里是first)的长度为准,超出部分会被忽略,所以确保两个数组长度相同就没问题啦!
内容的提问来源于stack exchange,提问作者parkme app2017
相关产品推荐
相关产品推荐

