JavaScript Array some() 方法

定義和用法

some() 方法檢查數組中的任何元素是否通過測試(作為函數提供)。

some() 方法對數組中存在的每個元素執行一次函數:

  • 如果找到函數返回真值的數組元素,some() 返回真(并且不檢查剩余值)
  • 否則返回 false

注釋:some() 對沒有值的數組元素不執行函數。

注釋:some() 不改變原始數組。

實例

例子 1

檢查 ages 數組中是否有 18 或以上的值:

var ages = [3, 10, 18, 20];
function checkAdult(age) {
  return age >= 18;
}
function myFunction() {
  document.getElementById("demo").innerHTML = ages.some(checkAdult);
}

親自試一試

例子 2

檢查 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>

親自試一試

語法

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

參數值

參數 描述
function(currentValue, index, arr) 必需。為數組中的每個元素運行的函數。

函數參數:

參數 描述
currentValue 必需。當前元素的值。
index 可選。當前元素的數組索引。
arr 可選。當前元素所屬的數組對象
thisValue

可選。要傳遞給函數以用作其 "this" 值的值。

如果此參數為空,則值 "undefined" 將作為其 "this" 值傳遞。

技術細節

返回值: 布爾值。如果數組中的任何元素通過測試,則返回 true,否則返回 false。
JavaScript 版本: ECMAScript 3

瀏覽器支持

表格中的數字注明了完全支持該方法的首個瀏覽器版本。

所有瀏覽器都完全支持 some() 方法:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
支持 9.0 支持 支持 支持 支持

相關頁面

教程:JavaScript 數組

教程:JavaScript 數組 Const

教程:JavaScript 數組方法

教程:JavaScript 排序數組

教程:JavaScript 數組迭代