every()
语法
array.every(function(currentValue,index,arr), thisValue)
every()
方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
every()
方法使用指定函数检测数组中的所有元素:
- 如果数组中检测到有一个元素不满足,则整个表达式返回
false
,且剩余的元素不会再进行检测
- 如果所有元素都满足条件,则返回
true
。
语法:
callback (执行数组中每个值的函数,包含四个参数)
1. currentValue 必需 (当前元素的值)
2. index 可选 (当前元素的索引值)
3. arr 可选 (当前元素属于的数组对象)
thisValue 可选 (对象作为该执行回调时使用,传递给函数,用作 "this" 的值。如果省略了 thisValue ,"this" 的值为 "undefined")
例子
var arr = [ 1, 2, 3, 4, 5, 6 ];
arr.every( function( item, index, array ){
console.log( 'item=' + item + ',index='+index+',array='+array );
return item > 3; // 检测到第一位不符合要求停止循环,返回 false
})
// item=1,index=0,array=1,2,3,4,5,6
// false
some()
语法
array.some(function(currentValue,index,arr),thisValue)
some()
方法用于检测数组中的元素是否满足指定条件(函数提供)。
some()
方法会依次执行数组的每个元素:
- 如果有一个元素满足条件,则表达式返回
true
, 剩余的元素不会再执行检测。
- 如果没有满足条件的元素,则返回
false
。
语法:
callback (执行数组中每个值的函数,包含四个参数)
1. currentValue 必需 (当前元素的值)
2. index 可选 (当前元素的索引值)
3. arr 可选 (当前元素属于的数组对象)
thisValue 可选 (对象作为该执行回调时使用,传递给函数,用作 "this" 的值。如果省略了 thisValue ,"this" 的值为 "undefined")
例子
var arr = [ 1, 2, 3, 4, 5, 6 ];
arr.some( function( item, index, array ){
console.log( 'item=' + item + ',index='+index+',array='+array );
return item > 3; // 检测到第三位 4 符合要求停止循环,返回 true
})
// item=1,index=0,array=1,2,3,4,5,6
// item=2,index=1,array=1,2,3,4,5,6
// item=3,index=2,array=1,2,3,4,5,6
// item=4,index=3,array=1,2,3,4,5,6
// true