js Array some

2019年06月21日 08:55 | 188次浏览 作者原创 版权保护

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


此文章本站原创,地址 https://www.vxzsk.com/2023.html   转载请注明出处!谢谢!

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程


上一篇:js Array slice 下一篇:js Array sort
^