本文正在参与掘金团队号上线活动,点击 查看大厂春招职位
一、题目描述:
用最简洁代码实现indexOf方法
二、思路分析:
数组和字符串都有indexOf方法,找到一个给定元素的第一个索引,如果不存在,则返回-1
- searchValue:要被查找的字符串值。
- fromIndex 可选:数字表示开始查找的位置。可以是任意整数,默认值为 0。fromIndex 的值小于 0,等同于为空情况; fromIndex 的值大于或等于 str.length ,那么结果会直接返回 -1 。
三、AC 代码:
// 最简洁的是啥样的,呜呜呜,我哭了
function indexOf(searchValue, fromIndex = 0) {
if (this.length < 1 || fromIndex > searchValue.length) {
return -1;
}
if (!searchValue) {
return 0;
}
fromIndex = fromIndex <= 0 ? 0 : fromIndex;
for (let i = fromIndex; i < this.length; i++) {
if (this[i] == searchValue) return i;
}
return -1;
}
Array.prototype.myIndexOf = indexOf;
String.prototype.myIndexOf = indexOf;
console.log([1, 2, 3].myIndexOf(2));
console.log('123'.myIndexOf(2));
四、总结:
试着参加掘金活动打个卡;