持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第21天,点击查看活动详情
今天带领大家来学习下数组的indexOf方法。
语法
arr.indexOf(searchElement[, fromIndex])
参数
searchElement: 要查找的元素fromIndex: 可选。 开始查找的位置。如果该索引值大于或等于数组长度,意味着不会在数组里查找,返回 -1。如果参数中提供的索引值是一个负值,则将其作为数组末尾的一个抵消,即 -1 表示从最后一个元素开始查找,-2 表示从倒数第二个元素开始查找 ,以此类推。 注意:如果参数中提供的索引值是一个负值,并不改变其查找顺序,查找顺序仍然是从前向后查询数组。如果抵消后的索引值仍小于 0,则整个数组都将会被查询。其默认值为 0。
返回值
首个被找到的元素在数组中的索引位置; 若没有找到则返回 -1
例子
- 第一个例子,我们要找数组中1的下标,显然是0
- 第二个例子,我们要从数组中的下标2开始找,1在下标2之前,在之后并没有1,故返回-1
- 第三个例子,我们要在数组中找到4的下标,数组中没有4,于是返回-1
- 第四个例子,我们要从数组中的下标2开始找,找3,刚好3在下标2处,返回2
手写
Array.prototype._indexOf = function(searchElement, fromIndex) {
let res = -1;
for(let i = fromIndex || 0; i < this.length; i++) {
if(this[i] === searchElement) {
res = i;
}
}
return res;
}
没毛病!
结语
今天关于数组indexOf的介绍就讲到这里,关注我获取更多有关数组方法的讲解,后续会持续更新。我是末世未然,一个爱折腾的新晋奶爸,祝好