JavaScript Array some() 方法

实例

检查 ages 数组中是否有 18 或以上的值:

var ages = [3, 10, 18, 20];

function checkAdult(age) {
  return age >= 18;
}

function myFunction() {
  document.getElementById("demo").innerHTML = ages.some(checkAdult);
}

亲自试一试

页面下方有更多 TIY 实例。

定义和用法

some() 方法检查数组中的任何元素是否通过测试(作为函数提供)。

some() 方法对数组中存在的每个元素执行一次函数:

  • 如果找到函数返回真值的数组元素,some() 返回真(并且不检查剩余值)
  • 否则返回 false

注释:some() 对没有值的数组元素不执行函数。

注释:some() 不改变原始数组。

浏览器支持

表格中的数字注明了完全支持该方法的首个浏览器版本。

所有浏览器都完全支持 some() 方法:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Yes 9.0 Yes Yes Yes Yes

语法

array.some(function(currentValue, index, arr), thisValue)

参数值

参数 描述
function(currentValue, index, arr) 必需。为数组中的每个元素运行的函数。

函数参数:

参数 描述
currentValue 必需。当前元素的值。
index 可选。当前元素的数组索引。
arr 可选。当前元素所属的数组对象
thisValue

可选。要传递给函数以用作其 "this" 值的值。

如果此参数为空,则值 "undefined" 将作为其 "this" 值传递。

技术细节

返回值: 布尔值。如果数组中的任何元素通过测试,则返回 true,否则返回 false。
JavaScript 版本: ECMAScript 3

更多实例

检查 ages 数组中的任何值是否等于或大于特定数字:

<p>Minimum age: <input type="number" id="ageToCheck" value="18"></p>
<button onclick="myFunction()">Try it</button>

<p>Any ages above: <span id="demo"></span></p>

<script>
var ages = [4, 12, 16, 20];

function checkAdult(age) {
  return age >= document.getElementById("ageToCheck").value;
}

function myFunction() {
  document.getElementById("demo").innerHTML = ages.some(checkAdult);
}
</script>

亲自试一试

相关页面

教程:JavaScript 数组

教程:JavaScript 数组 Const

教程:JavaScript 数组方法

教程:JavaScript 排序数组

教程:JavaScript 数组迭代