JavaScript Array findLastIndex()

定義和用法

findLastIndex() 方法為每個數組元素執行一個函數。

findLastIndex() 方法返回通過測試的最后一個元素的索引(位置)。

如果沒有找到匹配的元素,findLastIndex() 方法返回 -1。

findLastIndex() 方法不會為空的數組元素執行函數。

findLastIndex() 方法不會改變原始數組。

方法 查找內容
indexOf() 第一個具有指定值的元素的索引。
lastIndexOf() 最后一個具有指定值的元素的索引。
find() 通過測試的第一個元素的值。
findIndex() 通過測試的第一個元素的索引。
findLast() 通過測試的最后一個元素的值。
findLastIndex() 通過測試的最后一個元素的索引。

實例

例子 1

查找最后一個值大于 18 的元素的索引:

const ages = [3, 10, 18, 20];
ages.findLastIndex(checkAge);
function checkAge(age) {
  return age > 18;
}

親自試一試

例子 2

查找最后一個值大于輸入值的元素的索引:

<p><input type="number" id="toCheck" value="18"></p>
<button onclick="myFunction()">Test</button>
<p>Any values above: <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.findLastIndex(checkValue);
}
</script>

親自試一試

語法

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

參數

參數 描述
function() 必需。為每個數組元素運行的函數。
currentValue 必需。當前元素的值。
index 可選。當前元素的索引。
arr 可選。當前元素所屬的數組。
thisValue

可選。傳遞給函數的 this 值。

默認值為 undefined。

返回值

類型 描述
Number

通過測試的最后一個元素的索引。

如果沒有找到,則返回 -1。

瀏覽器支持

findLastIndex() 是 ES2023 的特性。

自 2023 年 7 月起,所有現代瀏覽器均支持該方法:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
2023 年 2 月 2023 年 2 月 2023 年 7 月 2023 年 3 月 2023 年 5 月