JavaScript Array 数组搜索
数组搜索方法
| Array indexOf() Array lastIndexOf() Array includes() |
Array find() Array findIndex() Array findLast() Array findLastIndex() |
JavaScript 数组 indexOf()
indexOf() 方法用于在数组中查找元素值并返回其位置。
注意: 第一个元素的位置为 0,第二个元素的位置为 1,依此类推。
示例
在数组中查找元素"Apple":
const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.indexOf("Apple") + 1;亲自试一试 »语法
array.indexOf(item, start)
| item | 必填项。要查找的项目。 |
| start | 可选。搜索起始位置。负值将从指定位置开始,从末尾计数,搜索到末尾。 |
Array.indexOf() 如果找不到该项,则返回 -1。
如果该项出现多次,则返回第一次出现的位置。
JavaScript 数组 lastIndexOf()
Array.lastIndexOf() 与 Array.indexOf() 相同,但返回指定元素最后一次出现的位置。
示例
在数组中查找元素"Apple":
const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.lastIndexOf("Apple") + 1;亲自试一试 »语法
array.lastIndexOf(item, start)
| item | 必填。要查找的项目。 |
| start | 可选。搜索的起始位置。负值将从指定位置开始,从末尾计数,并搜索到开头。 |
JavaScript 数组 includes() 方法
ECMAScript 2016 为数组引入了 Array.includes() 方法。这允许我们检查某个元素是否存在于数组中(包括 NaN,这与 indexOf 不同)。
示例
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.includes("Mango"); // is true亲自试一试 »语法
array.includes(search-item)
Array.includes() 允许检查 NaN 值。这与 Array.indexOf() 不同。
浏览器支持
includes() 是 ECMAScript 2016 的一项特性。
自 2017 年 3 月起,所有现代浏览器均完全支持 ES 2016。
| Chrome 52 |
Edge 15 |
Firefox 52 |
Safari 10.1 |
Opera 39 |
| 2016年7月 | 2017年4月 | 2017年3月 | 2017年5月 | 2016年8月 |
JavaScript 数组 find()
find() 方法返回数组中第一个通过测试函数的元素的值。
以下示例查找(返回)第一个大于 18 的元素:
示例
const numbers = [4, 9, 16, 25, 29];
let first = numbers.find(myFunction);
function myFunction(value, index, array) {
return value > 18;
} 亲自试一试 »请注意,该函数接受 3 个参数:
- 元素值
- 元素索引
- 数组本身
浏览器支持
find() 是 ES6 特性。
自 2017 年 6 月起,所有现代浏览器均已完全支持 ES6。
| Chrome 51 |
Edge 15 |
Firefox 54 |
Safari 10 |
Opera 38 |
| 2016年5月 | 2017年4月 | 2017年6月 | 2016年9月 | 2016年6月 |
JavaScript 数组 findIndex()
findIndex() 方法返回数组中第一个通过测试函数的元素的索引。
以下示例查找第一个大于 18 的元素的索引:
示例
const numbers = [4, 9, 16, 25, 29];
let first = numbers.findIndex(myFunction);
function myFunction(value, index, array) {
return value > 18;
} 亲自试一试 »请注意,该函数接受 3 个参数:
- 元素值
- 元素索引
- 数组本身
浏览器支持
findIndex() 是 ES6 特性。
自 2017 年 6 月起,所有现代浏览器均已完全支持 ES6。
| Chrome 51 |
Edge 15 |
Firefox 54 |
Safari 10 |
Opera 38 |
| 2016年5月 | 2017年4月 | 2017年6月 | 2016年9月 | 2016年6月 |
JavaScript 数组 findLast() 方法
ES2023 新增了 findLast() 方法,该方法从数组末尾开始查找,并返回第一个满足条件的元素的值。
浏览器支持
findLast() 是 ES2023 的一项特性。
自 2023 年 7 月起,所有现代浏览器均支持 JavaScript 2023。
| Chrome 110 |
Edge 110 |
Firefox 115 |
Safari 16.4 |
Opera 96 |
| 2023年2月 | 2023年2月 | 2023年7月 | 2023年3月 | 2023年5月 |
JavaScript 数组 findLastIndex() 方法
findLastIndex() 方法用于查找满足条件的最后一个元素的索引。
浏览器支持
findLastIndex() 是 ES2023 的一项特性。
自 2023 年 7 月起,所有现代浏览器均支持 JavaScript 2023。
| Chrome 110 |
Edge 110 |
Firefox 115 |
Safari 16.4 |
Opera 96 |
| 2023年2月 | 2023年2月 | 2023年7月 | 2023年3月 | 2023年5月 |
完整的 JavaScript 参考
如需查看包含完整描述和大量示例的 JavaScript 属性和方法的完整参考,请访问:
该参考包含 1999 年至 2025 年的所有 JavaScript 更新。
