You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript如何判断字符串数组全为'true'返回布尔true,遇'false'提前终止校验

实现方案解答

最高效实现方式

不需要先将字符串转为布尔值存入新数组再调用every(),这种做法会额外遍历一次数组、占用额外的内存空间,最优方案直接在every()的回调函数中完成校验,仅需一次遍历,时间复杂度为O(n),空间复杂度为O(1)。

代码实现

// 校验函数:数组所有元素都是字符串"true"时返回true,否则返回false
const checkAllStrTrue = (arr) => arr.every(item => item === "true");

测试用例

  • 测试包含"false"的数组:
    const myarr1 = ["true","false","true"];
    console.log(checkAllStrTrue(myarr1)); // 输出 false
    
  • 测试全为"true"的数组:
    const myarr2 = ["true","true","true"];
    console.log(checkAllStrTrue(myarr2)); // 输出 true
    

补充说明

如果你的业务场景中数组元素可能存在大小写不统一的情况(比如出现"TRUE"、"True"等取值),可以调整回调逻辑适配:

const checkAllStrTrue = (arr) => arr.every(item => item.toLowerCase() === "true");

如果元素除了"true"/"false"外还有其他取值,先做类型兼容处理再判断即可。


内容的提问来源于stack exchange,提问作者curiousCat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 14:06:06