0

0

js 怎样用lastIndexOf从后查找元素索引

幻夢星雲

幻夢星雲

发布时间:2025-08-17 09:00:03

|

994人浏览过

|

来源于php中文网

原创

在 javascript 中使用 lastindexof() 方法时,可对字符串或数组从后向前搜索指定元素,返回其最后一次出现的索引,若未找到则返回 -1;2. 该方法可接受第二个可选参数,指定搜索的起始位置,省略时默认从末尾开始;3. 与 indexof() 不同,lastindexof() 从末尾向开头搜索,适用于查找最后一个匹配项;4. 处理返回 -1 的情况应通过条件判断或三元运算符确认元素是否存在,避免程序出错,从而确保代码的健壮性。

js 怎样用lastIndexOf从后查找元素索引

lastIndexOf() 方法允许你从一个字符串或数组的末尾开始搜索指定的元素,并返回该元素最后一次出现的索引。如果没找到,就返回 -1。这比从头开始找更高效,尤其是在处理大型数据集时,你已经知道目标元素可能靠近末尾。

lastIndexOf() 提供了一种从后向前搜索字符串或数组中特定元素索引的方法,提升了搜索效率,尤其适用于已知目标元素大致位置的场景。

如何在 JavaScript 中使用 lastIndexOf() 方法?

在 JavaScript 中,

lastIndexOf()
方法的用法非常简单直接。它可以用于字符串和数组,但略有不同。

对于字符串:

let str = "Hello world, Hello!";
let index = str.lastIndexOf("Hello"); // 返回 13
console.log(index);

index = str.lastIndexOf("Hello", 10); // 从索引 10 往前找,返回 0
console.log(index);

index = str.lastIndexOf("Goodbye"); // 未找到,返回 -1
console.log(index);

可以看到,你可以传入一个可选的第二个参数,指定开始搜索的起始索引。 如果省略,则从字符串的末尾开始搜索。

对于数组:

Article Forge
Article Forge

行业文案AI写作软件,可自动为特定主题或行业生成内容

下载
let arr = [1, 2, 3, 4, 2, 5];
let index = arr.lastIndexOf(2); // 返回 4
console.log(index);

index = arr.lastIndexOf(2, 3); // 从索引 3 往前找,返回 1
console.log(index);

index = arr.lastIndexOf(6); // 未找到,返回 -1
console.log(index);

数组的用法与字符串类似,同样可以指定起始索引。

lastIndexOf() 和 indexOf() 的区别是什么?

lastIndexOf()
indexOf()
是 JavaScript 中用于查找元素索引的两个重要方法。 关键区别在于搜索方向。
indexOf()
从字符串或数组的开头开始搜索,而
lastIndexOf()
从末尾开始搜索。

let text = "This is a test, this is only a test.";

console.log(text.indexOf("is"));     // 输出 2
console.log(text.lastIndexOf("is")); // 输出 20

在这个例子中,

indexOf()
找到的第一个 "is" 出现在索引 2,而
lastIndexOf()
找到的最后一个 "is" 出现在索引 20。 选择哪个方法取决于你的具体需求。如果只需要知道元素是否存在,或者只需要找到第一个匹配项,
indexOf()
通常更快。如果需要找到最后一个匹配项,
lastIndexOf()
则是首选。

如何处理 lastIndexOf() 返回 -1 的情况?

lastIndexOf()
找不到指定的元素时,它会返回 -1。 处理这种情况至关重要,否则可能会导致错误。

一种常见的处理方式是使用条件语句:

let data = [ "apple", "banana", "cherry" ];
let index = data.lastIndexOf("grape");

if (index === -1) {
  console.log("元素未找到");
} else {
  console.log("元素在索引 " + index + " 处找到");
}

还可以结合三元运算符,使代码更简洁:

let data = [ "apple", "banana", "cherry" ];
let index = data.lastIndexOf("grape");

index === -1 ? console.log("元素未找到") : console.log("元素在索引 " + index + " 处找到");

另一种更高级的用法是在循环中,如果找不到元素,则提前退出循环或执行其他操作。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1566

2023.10.24

Go语言中的运算符有哪些
Go语言中的运算符有哪些

Go语言中的运算符有:1、加法运算符;2、减法运算符;3、乘法运算符;4、除法运算符;5、取余运算符;6、比较运算符;7、位运算符;8、按位与运算符;9、按位或运算符;10、按位异或运算符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

241

2024.02.23

php三元运算符用法
php三元运算符用法

本专题整合了php三元运算符相关教程,阅读专题下面的文章了解更多详细内容。

150

2025.10.17

php三元运算符用法
php三元运算符用法

本专题整合了php三元运算符相关教程,阅读专题下面的文章了解更多详细内容。

150

2025.10.17

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

760

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

221

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1566

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

649

2023.11.24

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

3

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 10.1万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 3.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号