百科狗-知识改变命运!
--

String.prototype.lastIndexOf() - JavaScript String 对象

梵高1年前 (2023-11-21)阅读数 21#技术干货
文章标签字符串

String.prototype.lastIndexOf()

lastIndexOf()方法返回调用String对象的指定值最后一次出现的索引,在一个字符串中的指定位置fromIndex处从后向前搜索。如果没找到这个特定值则返回-1 。

该方法将从尾到头地检索字符串str,看它是否含有子串searchValue。开始检索的位置在字符串的fromIndex处或字符串的结尾(没有指定fromIndex时)。如果找到一个searchValue,则返回searchValue的第一个字符在str中的位置。str中的字符位置是从 0 开始的。

语法

str.lastIndexOf(searchValue[, fromIndex])

参数

searchValue一个字符串,表示被查找的值。如果searchValue是空字符串,则返回fromIndexfromIndex可选待匹配字符串searchValue的开头一位字符从 str的第fromIndex位开始向左回向查找。fromIndex默认值是+Infinity。如果fromIndex >= str.length,则会搜索整个字符串。如果fromIndex ,则等同于fromIndex == 0

返回值

String.prototype.lastIndexOf() - JavaScript String 对象

返回指定值最后一次出现的索引(该索引仍是以从左至右0开始记数的),如果没找到则返回-1。

描述

字符串中的字符被从左向右索引。首字符的索引(index)是 0,最后一个字符的索引是stringName.length - 1

'canal'.lastIndexOf('a');     // returns 3 (没有指明fromIndex则从末尾l处开始反向检索到的第一个a出现在l的后面,即index为3的位置)
'canal'.lastIndexOf('a', 2);  // returns 1(指明fromIndex为2则从n处反向向回检索到其后面就是a,即index为1的位置)
'canal'.lastIndexOf('a', 0);  // returns -1(指明fromIndex为0则从c处向左回向检索a发现没有,故返回-1)
'canal'.lastIndexOf('x');     // returns -1
'canal'.lastIndexOf('c', -5); // returns 0(指明fromIndex为-5则视同0,从c处向左回向查找发现自己就是,故返回0)
'canal'.lastIndexOf('c', 0);  // returns 0(指明fromIndex为0则从c处向左回向查找c发现自己就是,故返回自己的索引0)
'canal'.lastIndexOf('');      // returns 5
'canal'.lastIndexOf('', 2);   // returns 2

Note:'abab'.lastIndexOf('ab', 2)将返回 2 而不是 0,因为fromIndex只限制待匹配字符串的开头。

(例如'abadefgabm'.lastIndexOf('ab', 7)返回7,虽然查找的'ab'中的b已经在 index=8的位置了从index=7的a处向左查找仍是能找到自身a加上其后连成ab,因为fromIndex指的是待匹配字符串的开头那一个)

区分大小写

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

"Blue Whale, Killer Whale".lastIndexOf("blue"); // returns -1

示例

例子:使用indexOflastIndexOf

下例使用indexOflastIndexOf方法来定位字符串"Brave new world"中的值。

var anyString = "Brave new world";

console.log("The index of the first w from the beginning is " + anyString.indexOf("w"));
// Displays 8
console.log("The index of the first w from the end is " + anyString.lastIndexOf("w")); 
// Displays 10

console.log("The index of 'new' from the beginning is " + anyString.indexOf("new"));   
// Displays 6
console.log("The index of 'new' from the end is " + anyString.lastIndexOf("new"));
// Displays 6

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)