当前位置:首页 > 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实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现点击显示和隐藏

js实现点击显示和隐藏

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

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js实现菜单

js实现菜单

实现基本HTML结构 使用HTML创建菜单的基本框架,通常包含<ul>和<li>元素。示例结构如下: <ul id="menu"> <li><…