every() && some()

81 阅读1分钟

共同点:

  • 只能遍历数组
  • 符合条件即可跳出循环,返回布尔类型
  • 用法相同,接收3个参数:item(当前项),index(当前索引),arr(数组本身)

注意:

  • every() 若收到一个空数组,此方法在一切情况下都会返回 true。
  • every() 不会改变原始数组。

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

不同点:

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

栗子:

[].every(e => e.isonline)  //true
[].every(e => false)  // true
[].some(e => e.isonline)  // false
[].some(e => true)  // false