当前位置:首页 > JavaScript

js实现indxof

2026-02-02 09:48:25JavaScript

js实现indxof

js实现indxof

实现 indexOf 的 JavaScript 方法

JavaScript 中的 indexOf 方法用于查找数组中指定元素的第一个匹配项的索引,或字符串中指定子字符串的第一个匹配项的索引。以下是两种实现方式:

数组的 indexOf 实现

function arrayIndexOf(arr, searchElement, fromIndex = 0) {
  for (let i = fromIndex; i < arr.length; i++) {
    if (arr[i] === searchElement) {
      return i;
    }
  }
  return -1;
}
  • arr:要搜索的数组
  • searchElement:要查找的元素
  • fromIndex:可选,开始查找的位置,默认为 0

字符串的 indexOf 实现

function stringIndexOf(str, searchValue, fromIndex = 0) {
  if (fromIndex < 0) fromIndex = 0;
  if (fromIndex >= str.length) return -1;

  for (let i = fromIndex; i < str.length; i++) {
    if (str.substring(i, i + searchValue.length) === searchValue) {
      return i;
    }
  }
  return -1;
}
  • str:要搜索的字符串
  • searchValue:要查找的子字符串
  • fromIndex:可选,开始查找的位置,默认为 0

使用示例

const arr = [1, 2, 3, 4, 5];
console.log(arrayIndexOf(arr, 3)); // 输出: 2

const str = "Hello World";
console.log(stringIndexOf(str, "World")); // 输出: 6

注意事项

  • 这些实现是简化版本,原生 indexOf 方法还处理了一些边界情况和特殊类型比较
  • 对于数组,可以使用严格相等比较(===),而字符串需要比较子字符串
  • 负数 fromIndex 会被当作 0 处理,超过长度的 fromIndex 会直接返回 -1

标签: jsindxof
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callback) {…

js实现复制功能

js实现复制功能

使用 document.execCommand 方法 这种方法适用于较旧的浏览器,但在现代浏览器中可能被逐步淘汰。通过创建一个临时的 textarea 元素,将文本内容放入其中,然后执行复制命令。…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(f…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…