every() 方法用于检测数组所有元素是否都符合指定条件;
- 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
- 如果所有元素都满足条件,则返回 true。
注意: every() 不会对空数组进行检测,不会改变原始数组
语法:
array.every(function(currentValue,index,arr), thisValue)
参数 | 描述 |
---|---|
currentValue | 必须。当前元素的值 |
index | 可选。当前元素的索引值 |
arr | 可选。当前元素属于的数组对象 |
这些我们都好理解和使用,但是thisValue呢,找到定义如下,那怎么使用呢
thisValue | 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。 如果省略了 thisValue ,"this" 的值为 "undefined" |
后来测试,发现thisValue就是执行函数里的【this】的值,可以是任意数据类型:Number,String,Boolean,Function,Object,Array,假设我们不想var一个全局变量,就利用thisValue的内部作用域原理就可以传值进去判断结果。
var arr = [1,2,3]
arr.every(function (currentValue, index, arr) {
return this < currentValue;
}, 1)
// 结果是:false
arr.every(function (currentValue, index, arr) {
return this < currentValue;
}, 0)
// 结果是:true
结果就是这样,希望对大家有帮助。
越努力,越幸运,加油