手册
目录
indexOf() 方法在数组中搜索元素值并返回其位置。
注意:第一项的位置是 0,第二项的位置是 1,依此类推。
在数组中搜索项 "Apple":
const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.indexOf("Apple") + 1;
运行实例 »点击 "运行实例" 按钮查看在线实例
array.indexOf(item, start)
| item | 必需。要搜索的项。 |
| start | 可选。搜索的起始位置。负值将从数组末尾开始计数,并搜索到末尾。 |
lastIndexOf() 方法与 indexOf() 相同,但返回指定元素最后一次出现的位置。
在数组中搜索项 "Apple":
const fruits = ["Apple", "Orange", "Apple", "Mango"];
let position = fruits.lastIndexOf("Apple") + 1;
运行实例 »点击 "运行实例" 按钮查看在线实例
array.lastIndexOf(item, start)
| item | 必需。要搜索的项。 |
| start | 可选。搜索的起始位置。负值将从数组末尾开始计数,并搜索到开头。 |
ECMAScript 2016 引入了 Array.includes() 方法。它允许我们检查数组中是否包含某个元素(包括 NaN,与 indexOf 不同)。
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.includes("Mango"); // 返回 true
运行实例 »点击 "运行实例" 按钮查看在线实例
array.includes(search-item)
search-item:要搜索的元素。
注意:includes() 可以检查 NaN 值,而 indexOf() 不能。
includes() 是 ECMAScript 2016 的特性。
自 2017 年 3 月起,所有现代浏览器均支持 ES2016:
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| Chrome 52 | Edge 15 | Firefox 52 | Safari 10.1 | Opera 39 |
| 2016 年 7 月 | 2017 年 4 月 | 2017 年 3 月 | 2017 年 5 月 | 2016 年 8 月 |
Internet Explorer 不支持 includes()。
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(JavaScript 2015)的特性。
自 2017 年 6 月起,所有现代浏览器均支持 ES6:
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
| 2016 年 5 月 | 2017 年 4 月 | 2017 年 6 月 | 2016 年 9 月 | 2016 年 6 月 |
Internet Explorer 不支持 find()。
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(JavaScript 2015)的特性。
自 2017 年 6 月起,所有现代浏览器均支持 ES6:
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
| 2016 年 5 月 | 2017 年 4 月 | 2017 年 6 月 | 2016 年 9 月 | 2016 年 6 月 |
Internet Explorer 不支持 findIndex()。
ES2023 新增了 findLast() 方法,它从数组末尾开始搜索,并返回满足条件的第一个元素的值。
const temp = [27, 28, 30, 40, 42, 35, 30]; let high = temp.findLast(x => x > 40);运行实例 »
点击 "运行实例" 按钮查看在线实例
findLast() 是 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 月 |
findLastIndex() 方法查找满足条件的最后一个元素的索引。
const temp = [27, 28, 30, 40, 42, 35, 30]; let pos = temp.findLastIndex(x => x > 40);运行实例 »
点击 "运行实例" 按钮查看在线实例
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 月 |
如需完整的数组参考,请访问:JavaScript 数组参考手册。
该手册包含所有数组属性和方法的描述和实例。
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习