最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

详解JavaScript中数组和字符串的lastIndexOf()方法使用_基础知识

来源:动视网 责编:小采 时间:2020-11-27 20:52:07
文档

详解JavaScript中数组和字符串的lastIndexOf()方法使用_基础知识

详解JavaScript中数组和字符串的lastIndexOf()方法使用_基础知识:Array.prototype.lastIndexOf 和 String.prototype.lastIndexOf 是非常的实用的方法,不过很多人不知道它其实可以传递两个参数,第二个参数决定了搜索的起始位置: 语法 str.lastIndexOf(searchValue[, fromIndex])
推荐度:
导读详解JavaScript中数组和字符串的lastIndexOf()方法使用_基础知识:Array.prototype.lastIndexOf 和 String.prototype.lastIndexOf 是非常的实用的方法,不过很多人不知道它其实可以传递两个参数,第二个参数决定了搜索的起始位置: 语法 str.lastIndexOf(searchValue[, fromIndex])


Array.prototype.lastIndexOf 和 String.prototype.lastIndexOf 是非常的实用的方法,不过很多人不知道它其实可以传递两个参数,第二个参数决定了搜索的起始位置:

语法

lastIndexOf() 方法返回指定值在调用该方法的字符串中最后出现的位置,如果没找到则返回 -1。从该字符串的后面向前查找,从 fromIndex 处开始。

参数

1.searchValue
一个字符串,表示被查找的值。
2.fromIndex
从调用该方法字符串的此位置处开始查找。可以是任意整数。默认值为 str.length。如果为负值,则被看作 0。如果 fromIndex > str.length,则 fromIndex 被看作 str.length。

区分大小写

lastIndexOf 方法区分大小写。例如,下面的表达式返回 -1:

lastIndexOf的用法

输出: 4 // 从正数第二个位置,搜索倒数第一个CD的位置 document.write(ar.lastIndexOf("cd", 2) + "
"); // 输出: 1 // 从倒数第三个搜索最后一个ab的位置 document.write(ar.lastIndexOf("ab", -3) + "
"); // 输出: 0

同样 String.lastIndexOf的用法类似

lastIndexOf的IE8实现

不过微软的IE8及其以下并不支持Array.lastIndexOf,需要兼容实现。可以参考:

可以使用 ES5-Slim 使旧版浏览器完全兼容ES5语法。

为什么要避免使用for in

不过要注意的是,在Array.prototype上面附加方法后,for in语法也会把lastIndexOf方法也枚举出来:

而应该使用 for loop实现

这个问题可以使用 Object.defineProperty 来实现,来避免for in的枚举出lastIndexOf方法:

不过一般需要兼容实现的浏览器根本不支持defineProperty 方法。并且在多数浏览器上for in都比for loop要慢很多,因此应该尽量避免使用for in。但是如何枚举Object属性的key呢? 使用Object.keys({ a:1 })即可返回关于keys的数组。

文档

详解JavaScript中数组和字符串的lastIndexOf()方法使用_基础知识

详解JavaScript中数组和字符串的lastIndexOf()方法使用_基础知识:Array.prototype.lastIndexOf 和 String.prototype.lastIndexOf 是非常的实用的方法,不过很多人不知道它其实可以传递两个参数,第二个参数决定了搜索的起始位置: 语法 str.lastIndexOf(searchValue[, fromIndex])
推荐度:
标签: js 方法的 javascript
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top