JavaScript Array some()
示例 1
检查是否有任何值大于 18
const ages = [3, 10, 18, 20];
ages.some(checkAdult);
function checkAdult(age) {
return age > 18;
}
自己动手试一试 »
描述
some() 方法检查数组中的任何元素是否通过了测试(通过回调函数提供)。
some() 方法对每个数组元素执行一次回调函数。
如果函数对其中一个数组元素返回 true,则 some() 方法返回 true(并停止)。
如果函数对所有数组元素都返回 false,则 some() 方法返回 false。
some() 方法不为空数组元素执行函数。
some() 方法不改变原始数组。
语法
array.some(function(value, index, arr), this)
参数
| 参数 | 描述 | ||||||
| function | 必需。 为每个数组元素运行的函数。 |
||||||
函数参数
|
|||||||
| this | 可选。默认为 undefined。 传递给函数的一个值,用作其 "this" 值。 |
||||||
返回值
| 类型 | 描述 |
| 一个布尔值 |
如果任何数组元素通过测试,则返回 true,否则返回 false。 |
示例 2
<p>输入: <input type="number" id="toCheck" value="15"></p>
<button onclick="myFunction()">测试</button>
<p>更高值: <span id="demo"></span></p>
<script>
const numbers = [4, 12, 16, 20];
function checkValue(x) {
return x > document.getElementById("toCheck").value;
}
function myFunction() {
document.getElementById("demo").innerHTML = numbers.some(checkValue);
}
</script>
自己动手试一试 »
浏览器支持
some() 是 ECMAScript3 (ES3) 的一个特性。
ES3 (JavaScript 1999) 在所有浏览器中都得到完全支持
| Chrome | Edge | Firefox | Safari | Opera | IE |
| 是 | 是 | 是 | 是 | 是 | 是 |