JS数组 every(), some()

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容