,,简单谈谈JS数组中的indexOf方法

,,简单谈谈JS数组中的indexOf方法

最近工作中遇到一个小问题。我将把这篇文章的代码简化成一个小例子给你看。下面详细介绍一下JS数组中的indexOf方法,用心看看最后会不会有收获。有需要的朋友来看看吧。

前言

相信大家对indexOf并不陌生,在判断一个字符串是否包含子串时尤其常用,对于正规不熟练的同学来说是一个利器。本文以最近的一个问题为例,讨论indexOf方法。本文是小知识点的积累,不是作为话题进行深入讨论,所以这里不解释indexOf()的第二个参数。相信大家都知道第二个参数的作用。

String 类型的使用

回顾众所周知的字符串用法,例如

设str=' orange

str . index of(' o ');//0

str . index of(' n ');//3

str . index of(' c ');//-1

这里0和3分别是O和N在字符串中出现的位置。起始下标是0。-1表示不匹配。

曾经有人问我为什么是-1而不是null或者undefined。去问制定规则的人!一脸的无奈。

大家都觉得这里没什么亮点。别急,我们再举个例子。

let numStr=' 2016

numstr . index of(' 2 ');//0

numstr . index of(2);//0

这里有个小点,就是indexOf可以做简单的类型转换,把数字转换成字符串‘2’然后执行。

Number 类型的使用

你可能想知道number类型是否有indexOf方法,因为它可以做隐式转换!明确告诉大家,上面的例子。

设num=2016

num . index of(2);//未捕获的类型错误:num.indexOf不是函数

是否要对数字类型使用indexOf方法?然后转换成一个字符串,再写成前面的例子。

//白痴青年的写作

num=' 2016

num . index of(2);//0

//普通青年的写作

num.toString()。index of(2);//0

//文艺青年写作

(''数字)。index of(2);//0

第一种写法简单直接,对于已知的较短的数也不是不可以。但是当num变量针对不同的数据发生变化时,该怎么办?

第二种写法最常用,但比第三种写法长一点。哈哈,其实还可以。代码纯粹主义者喜欢第三种。

Array 类型的使用

大家打起精神来。大老板来了。

数组的方法大家都很熟悉,但是忽略了数组有indexOf(我个人感觉)的方法。

不练就瞎说。你遇到过哪些问题?你的注意点在哪里?

let arr=['橙',' 2016 ',' 2016 '];

arr . index of(' orange ');//0

arr . index of(' o ');//-1

arr . index of(' 2016 ');//1

arr . index of(2016);//-1

没有这里举例那么详细。四个用例足以说明问题。

Arr.indexOf('orange ')输出0,因为' orange '是数组的第0个元素,匹配并返回下标。

Arr.indexOf ('o ')输出-1,因为此方法不会在每个元素的基础上再次执行indexOf匹配。

Arr.indexOf('2016 ')输出1,因为此方法返回从匹配开始到结束的第一个数组元素的下表,而不是返回所有匹配的下标。

Arr.indexOf(2016) Output -1注意:这里不做隐式类型转换。

既然坑已经找到了,我们不妨一探究竟。去MDN官网看看。对这个话题感兴趣的朋友可以直接跳转到Array.prototype.indexOf()

只是想知道下面的朋友给你官方的描述。

indexOf()使用严格相等(与===或triple-equals运算符使用的方法相同)将searchElement与数组的元素进行比较。

一看,这里用的是严格等于(===)。做类似判断的时候多加注意。不要把数字错当成字符串,就像字符串不会转换成数字一样。

总结

这就是本文的全部内容。希望这篇文章的内容能给你的学习或者工作带来一些帮助。有问题可以留言交流。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • slice 数组,js中的slice()方法,JS数组方法slice()用法实例分析
  • js数组转字符串,字符串转数组方法,JS 数组转字符串
  • js数组转字符串,字符串转数组方法,JS 数组转字符串,JS数组转字符串实现方法解析
  • js数组筛选的方法,js 多条件筛选
  • js数组筛选的方法,js 多条件筛选,JS实现数组过滤从简单到多条件筛选
  • js数组的常用10种方法详解图,js数组的常用10种方法详解图片
  • js数组的常用10种方法详解图,js数组的常用10种方法详解图片,JS数组的常用10种方法详解
  • js数组去重的几种方式,js数组去重最简单的方法
  • js数组去重的几种方式,js数组去重最简单的方法,js数组去重的11种方法
  • js数组去重最简单的方法,数组去重方法js
  • js数组去重最简单的方法,数组去重方法js,七种JS实现数组去重的方式
  • js数组中去除重复值的几种方法是什么,js数组中去除重复值的几种方法有哪些
  • js数组中去除重复值的几种方法是什么,js数组中去除重复值的几种方法有哪些,js数组中去除重复值的几种方法
  • js初始化一个数组,js数组初始化的三种方式
  • js初始化一个数组,js数组初始化的三种方式,js二维数组定义和初始化的三种方法总结
  • 留言与评论(共有 条评论)
       
    验证码: