JavaScript 数组 some() 方法
下面是Array some()方法的示例。
- 例子:
- 输出:
true false
arr.some()方法检查数组的至少一个元素是否满足参数方法检查的条件。
句法:
arr.every(callback(element[, index[, array]])[, thisArg])
参数:此方法接受上面提到的五个参数,如下所述:
- callback:此参数保存要为数组的每个元素调用的函数。
- element:参数保存当前正在处理的元素的值。
- index:该参数是可选的,它保存从0开始的数组中currentValue元素的索引。
- array:这个参数是可选的,它保存了调用 Array.every 的完整数组。
- thisArg:此参数是可选的,它保存要作为 this 传递的上下文,以便在执行回调函数时使用。如果传递了上下文,它将在每次调用回调函数时都这样使用,否则使用 undefined 作为默认值。
返回值:即使数组的元素之一满足参数方法实现的条件(并且不检查剩余值),此方法也返回true 。如果数组中没有元素满足条件,则返回false 。
下面的示例说明了 JavaScript 中的方法:
- 示例 1:在此示例中,方法some()检查任何大于5的数字。由于存在满足此条件的元素,因此该方法返回true 。
function isGreaterThan5(element, index, array) { return element > 5; } print([2, 5, 8, 1, 4].some(isGreaterThan5));
输出:
true
- 示例 2:在此示例中,方法some()检查任何大于5的数字。由于不存在满足此条件的元素,因此该方法返回false 。
function isGreaterThan5(element, index, array) { return element > 5; } print([-2, 5, 3, 1, 4].some(isGreaterThan5));
输出:
false
- 示例 3:在此示例中,方法some()检查数组中的2和87 。由于只有2 个可用,因此该方法对第一个查询返回true ,而对第二个查询返回false 。
var arr = [2, 5, 8, 1, 4] function checkAvailability(arr, val) { return arr.some( function(arrVal) { return val === arrVal; } ); } print(checkAvailability(arr, 2)); print(checkAvailability(arr, 87));
输出:
true false
上述方法的代码如下:
方案一:
输出:
true
方案二:
输出:
false
支持的浏览器: JavaScript Array some()方法支持的浏览器如下:
- 谷歌浏览器 1 以上
- 边缘 12 及以上
- 火狐1.5及以上
- Internet Explorer 9 及更高版本
- Opera 9.5 及以上
- Safari 3 及以上