Array.prototype.indexOf()
方法用于查找数组成员第一次出现指定字符的位置。
语法:
arr.indexOf( searchElement [, fromIndex] )
类型声明:
interface Array<T> {indexOf(searchElement: T, fromIndex?: number): number;}
参数说明:
参数 | 说明 | 类型 |
---|---|---|
searchElement | 要查找的数组元素 | any |
fromIndex | 可选,在当前字符串中查找的起始索引,默认为 0 | number |
返回值:
返回数组元素在当前数组中第一次查找到的起始位置(索引)
该方法使用 Strict Equality(无论是绝对相等 ===
,还是 Triple-equals 操作符都基于同样的方法)进行判断查找的元素与数组中包含的元素之间的关系。
var arr = [1, 2, 3, 4, 5];arr.indexOf(1);// 0arr.indexOf(7);// -1arr.indexOf(4, 2);// 3arr.indexOf(3, -1);// -1arr.indexOf(3, -3);// 2
// 存放指定元素出现的位置的数组var indices = [];// 被查找的数组const array = ['a', 'b', 'a', 'c', 'a', 'd'];// 查找的元素var element = 'a';var idx = array.indexOf(element);while (idx != -1) {indices.push(idx);idx = array.indexOf(element, idx + 1);}console.log(indices);// [0, 2, 4]