对空数组使用some和every表现不一致

问题描述

对空数组使用some和every结果与预期不符合(也不符合逻辑)

[].every(item=>item===true); // > true

[].some(item=>item===true); // > false

问题出现原因

未知
every方法的输出结果不符合逻辑,不知道为什么,查阅es5无结果;但是在网络上有检索到相关内容;

解决方案

在使用数组的every方法时,先进行数组是否为空的判断.

参考资料

资料地址: JavaScript Array every() 方法

every() 方法的定义和用法

every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
every() 方法使用指定函数检测数组中的所有元素:

  • 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
  • 如果所有元素都满足条件,则返回 true。

注意: every() 不会对空数组进行检测。
注意: every() 不会改变原始数组。
注意:若收到一个空数组,此方法在一切情况下都会返回 true。(Array.prototype.every()-MDN)

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值