共同点:
- 只能遍历数组
- 符合条件即可跳出循环,返回布尔类型
- 用法相同,接收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