indexof返回指定元素首次出现的索引或-1;使用===严格比较,不支持引用类型查找;判断存在性需用!== -1而非if语句。

indexOf 是数组的内置方法,用于查找指定元素在数组中**第一次出现的位置(索引)**,返回该索引值;如果没找到,返回 -1。
基本用法和语法
调用方式:array.indexOf(searchElement, fromIndex)
-
searchElement:要查找的元素(严格相等比较,即
===) - fromIndex(可选):开始查找的起始索引,默认为 0;若为负数,则从末尾倒数(如 -1 表示最后一个元素)
查找成功时返回对应索引
例如:
Java开发手册规约集合,基于阿里巴巴Java开发手册(嵩山版)。 涵盖7大维度:编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约。 当用户需要:(1) 编写或审查Java代码 (2) 检查命名/代码规范 (3) 处理异常和日志 (4) 编写单元测试 (5) 安全编码 (6) 数据库设...
console.log(fruits.indexOf('banana')); // 输出:1(第一次出现在索引 1)
查找失败时返回 -1
注意:不能用 if (arr.indexOf(x)) 判断是否存在,因为索引 0 是 falsy 值,会导致误判。
- ❌ 错误写法:
if (fruits.indexOf('apple')) { ... }('apple' 在索引 0,条件不成立) - ✅ 正确写法:
if (fruits.indexOf('apple') !== -1) { ... }或使用includes()
注意严格相等和引用类型
indexOf 使用 === 比较,对对象、数组等引用类型不适用:
console.log(arr.indexOf({name: 'Alice'})); // -1(两个对象不是同一引用)
如需查找对象,建议用 findIndex() 配合条件函数:
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










