You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么JavaScript的indexOf查找混合字母数字数组项返回0

原因解释

Array.prototype.indexOf() 是JavaScript数组的内置方法,规则如下:

  • 会按照从左到右的顺序遍历数组,查找和传入参数**严格相等(===)**的元素
  • 找到第一个匹配的元素时,直接返回该元素对应的数组索引
  • 数组的索引从0开始计数,也就是第一个元素的索引是0,第二个是1,依此类推,找不到匹配项则返回-1

对应你的代码逐一说明:

第一段代码:

var arr = ['E8DB84DCA22F','C44F337FB12D','123456789ABC'];
var str = 'E8DB84DCA22F';
console.log(arr.indexOf(str));

数组arr的索引0位置的元素就是你要查找的'E8DB84DCA22F',和str完全匹配,所以返回结果是0。

第二段代码:

var arr2 = ['example','foo','bar'];
var str2 = 'foo';
console.log(arr2.indexOf(str2));

数组arr2的索引0位置是'example',不匹配str2,继续查找后,在索引1位置找到匹配的'foo',所以返回结果是1。


内容的提问来源于stack exchange,提问作者HiDayurie Dave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 19:57:03