javascript Array some()函数使用方法
定义
some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
语法
array.some(function(currentValue,index,arr),thisValue)
参数说明
参数 | 描述 |
function(currentValue,index,arr) | 必须。函数,数组中的每个元素都会执行这个函数 函数参数: currentValue 必须。当前元素的值 index 可选 数组中正在处理的元素的索引值。 array可选 some()被调用的数组。 |
thisValue | 可选 执行 callback 时使用的 this 值。 |
返回值
如果回调函数返回任何数组元素的truthy值,则返回true;否则为false。
说明
some() 为数组中的每一个元素执行一次 callback 函数,直到找到一个使得 callback 返回一个“真值”(即可转换为布尔值 true 的值)。如果找到了这样一个值,some() 将会立即返回 true。否则,some() 返回 false。callback 只会在那些”有值“的索引上被调用,不会在那些被删除或从来未被赋值的索引上调用。
callback 被调用时传入三个参数:元素的值,元素的索引,被遍历的数组。
将会把它传给被调用的 callback,作为 this 值。否则,在非严格模式下将会是全局对象,严格模式下是 undefined。
some() 被调用时不会改变数组。
some() 遍历的元素的范围在第一次调用 callback. 时就已经确定了。在调用 some() 后被添加到数组中的值不会被 callback 访问到。如果数组中存在且还未被访问到的元素被 callback 改变了,则其传递给 callback 的值是 some() 访问到它那一刻的值。
实例
下面的例子检测在数组中是否有元素大于 10。
<script type="text/javascript"> function isBiggerThan10(element, index, array) { return element > 10; } var array1 = [2, 5, 8, 1, 4] var array2 =[12, 5, 8, 1, 4] var f1=array1.some(isBiggerThan10); // false var f2= array2.some(isBiggerThan10); // true alert(f1) alert(f2) </script>
运行结果
false true
箭头函数实例
<script type="text/javascript"> var array1 = [2, 5, 8, 1, 4] var array2 =[12, 5, 8, 1, 4] var f1=array1.some(x => x > 10); // false var f2= array2.some(x => x > 10); // true alert(f1) alert(f2) </script>
运行结果
false true
感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程