使用JavaScript的indexOf方法

使用JavaScript的indexOf方法

大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们来探讨JavaScript中的indexOf方法。indexOf方法是JavaScript中一个非常实用的工具,用于在字符串或数组中查找子串或元素的索引。通过掌握indexOf方法的使用,可以帮助我们更高效地处理字符串和数组操作。

一、indexOf方法简介

indexOf方法在字符串和数组中都可以使用。对于字符串,indexOf方法用于查找子串在字符串中的起始位置;对于数组,indexOf方法用于查找某个元素在数组中的位置。

二、字符串中的indexOf方法

1. 基本用法

indexOf方法在字符串中查找指定子串的第一次出现的位置。它返回子串的起始索引,如果没有找到子串,则返回-1。

语法:

string.indexOf(searchValue, fromIndex)
  • searchValue:要搜索的子串。
  • fromIndex:可选。表示开始搜索的位置,默认为0。

示例:

let str = "Hello, welcome to the JavaScript world!";
let index = str.indexOf("JavaScript");
console.log(index); // 输出: 18index = str.indexOf("Java", 20);
console.log(index); // 输出: -1

在这个示例中,"JavaScript"子串在字符串中的起始位置为18,而在索引20之后搜索"Java"时,没有找到该子串,所以返回-1。

2. 查找所有出现的位置

我们可以通过循环来查找子串在字符串中所有出现的位置。

示例:

let str = "Hello, welcome to the JavaScript world! JavaScript is great!";
let searchValue = "JavaScript";
let indices = [];
let index = str.indexOf(searchValue);while (index !== -1) {indices.push(index);index = str.indexOf(searchValue, index + 1);
}console.log(indices); // 输出: [18, 41]

在这个示例中,我们查找"JavaScript"在字符串中所有出现的位置,并将它们存储在数组indices中。

三、数组中的indexOf方法

1. 基本用法

indexOf方法在数组中查找指定元素的第一次出现的位置。它返回元素的索引,如果没有找到元素,则返回-1。

语法:

array.indexOf(searchElement, fromIndex)
  • searchElement:要搜索的元素。
  • fromIndex:可选。表示开始搜索的位置,默认为0。

示例:

let array = [1, 2, 3, 4, 5, 3];
let index = array.indexOf(3);
console.log(index); // 输出: 2index = array.indexOf(3, 3);
console.log(index); // 输出: 5

在这个示例中,数字3在数组中的第一次出现位置为2,而在索引3之后搜索3时,找到了位置5。

2. 查找所有出现的位置

我们可以通过循环来查找数组中元素的所有出现位置。

示例:

let array = [1, 2, 3, 4, 5, 3, 3, 6];
let searchElement = 3;
let indices = [];
let index = array.indexOf(searchElement);while (index !== -1) {indices.push(index);index = array.indexOf(searchElement, index + 1);
}console.log(indices); // 输出: [2, 5, 6]

在这个示例中,我们查找数组中元素3的所有出现位置,并将它们存储在数组indices中。

四、indexOf方法的应用

1. 检查子串或元素是否存在

我们可以使用indexOf方法来检查字符串中是否包含某个子串,或数组中是否包含某个元素。

示例:

let str = "Hello, welcome to the JavaScript world!";
if (str.indexOf("JavaScript") !== -1) {console.log("字符串中包含 'JavaScript'");
}let array = [1, 2, 3, 4, 5];
if (array.indexOf(3) !== -1) {console.log("数组中包含元素 3");
}

在这个示例中,我们通过判断indexOf方法的返回值是否为-1,来检查字符串或数组中是否包含指定的子串或元素。

2. 去除数组中的重复元素

我们可以使用indexOf方法来去除数组中的重复元素。

示例:

let array = [1, 2, 3, 4, 3, 2, 1];
let uniqueArray = [];for (let i = 0; i < array.length; i++) {if (uniqueArray.indexOf(array[i]) === -1) {uniqueArray.push(array[i]);}
}console.log(uniqueArray); // 输出: [1, 2, 3, 4]

在这个示例中,我们通过判断uniqueArray中是否已经存在array[i],来去除数组中的重复元素。

五、在Java中使用indexOf方法

在Java中,我们也可以使用indexOf方法来查找字符串或数组中的子串或元素。下面我们以一个具体的例子来说明如何在Java中使用indexOf方法。假设我们有一个名为cn.juwatech的包,在该包中创建一个类IndexOfExample

package cn.juwatech;import java.util.ArrayList;
import java.util.List;public class IndexOfExample {public static void main(String[] args) {// 字符串中的indexOf方法String str = "Hello, welcome to the Java world!";int index = str.indexOf("Java");System.out.println("字符串中'Java'的索引: " + index);// 数组中的indexOf方法int[] array = {1, 2, 3, 4, 3, 2, 1};List<Integer> uniqueList = new ArrayList<>();for (int value : array) {if (!uniqueList.contains(value)) {uniqueList.add(value);}}System.out.println("去除重复元素后的数组: " + uniqueList);}
}

在这个示例中,我们首先演示了如何在字符串中使用indexOf方法查找子串的索引,然后演示了如何在数组中去除重复元素。

六、总结

indexOf方法是JavaScript和Java中非常重要和常用的工具,用于在字符串或数组中查找子串或元素的位置。通过掌握indexOf方法的使用,可以帮助我们更加高效地处理字符串和数组操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/36414.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python报错】已解决 ModuleNotFoundError: No module named ‘transformers‘

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 ModuleNotFoundError: No module named ‘transformers’ 是一个常见的错误&#xff0c;它表明你的Python环境中没有安装t…

如何用CSS样式实现一个优雅的渐变效果?

CSS渐变效果 CSS渐变&#xff08;Gradients&#xff09;是一种让两种或多种颜色平滑过渡的视觉效果&#xff0c;广泛应用于网页背景、按钮、边框等&#xff0c;以创造丰富的视觉体验。CSS提供了线性渐变&#xff08;Linear Gradients&#xff09;和径向渐变&#xff08;Radial…

Socket编程详解(二)核心代码讲解

本文对代码的讲解基于上一篇博客 快速链接 Socket编程详解&#xff08;一&#xff09;服务端与客户端的双向对话 小试牛刀1&#xff1a;委托声明的关键字和委托方法使用的方法名是不一样的名称 可读性&#xff1a;有时&#xff0c;委托的名称可能描述了它的用途或它在哪里被…

使用Swoole开发高性能的Web爬虫

使用swoole开发高性能的web爬虫 Web爬虫是一种自动化获取网络数据的工具&#xff0c;它可以在互联网上收集数据&#xff0c;并且可以被应用于各种不同的领域&#xff0c;如搜索引擎、数据分析、竞争对手分析等。随着互联网规模和数据量的快速增长&#xff0c;如何开发一个高性…

RequestMappingHandlerAdapter【Spring源码学习】

HandlerAdapter处理器适配器就是去调用处理器方法&#xff01; HandlerAdapter // 解析RequestMapping注解 生成路径和控制器方法得映射关系 RequestMappingHandlerMapping requestMappingHandlerMapping context.getBean(RequestMappingHandlerMapping.class);// 查看生成的…

六、常用API ★ ✔

六、常用API 模块14.基础API第一章.String1.String介绍2.String的实现原理 ★private final char[] value;private final byte[] value; 3.String的创建 ★ &#xff08;无参、字符串、字符数组、字节数组&#xff09;4.String 面试题【String s new String("abc")】…

「树莓派入门」树莓派基础06-Linux操作系统和编辑器的使用

本文主要介绍如何在树莓派上使用终端进行基本操作&#xff0c;包括文件的创建、查看、删除和移动&#xff0c;以及如何使用超级用户权限和切换用户。同时&#xff0c;也介绍了如何使用nano和vi编辑器编辑文件。 一、连接树莓派 通过SSH连接 确保树莓派的SSH服务已启动。在终端…

Django —— 用户名和密码配置

创建项目ProjectA&#xff1a; django-admin startproject ProjectA cd进入ProjectA文件夹运行项目&#xff1a; python manage.py runserver 0.0.0.0:8000 Starting development server at http://0.0.0.0:8000/Quit the server with CTRL-BREAK. 访问http://localhost:80…

智慧校园-档案管理系统总体概述

智慧校园档案管理系统&#xff0c;作为教育信息化进程中的重要一环&#xff0c;它运用现代信息技术的力量&#xff0c;彻底改变了传统档案管理的面貌&#xff0c;为学校档案资源的收集、整理、存储、检索与利用开辟了全新的途径。这一系统全面覆盖学生、教职工、教学科研及行政…

驾驭Scala的网络之力:HTTP客户端与服务器实战指南

驾驭Scala的网络之力&#xff1a;HTTP客户端与服务器实战指南 在现代应用开发中&#xff0c;HTTP作为网络通信的基石&#xff0c;其重要性不言而喻。Scala&#xff0c;以其强大的函数式编程特性和类型系统&#xff0c;为构建高效、可靠的HTTP客户端和服务器提供了丰富的工具和…

2.ROS串口安装和调试

首先安装串口依赖 sudo apt-get install ros-melodic-serial 其次安装串口调试助手 sudo apt-get install minicom 再赋予串口权限 sudo chmod 777 /dev/ttyTHS1 打开调试助手 sudo cutecom 硬件引脚图&#xff1a;

【算法专题--栈】栈的压入、弹出序列 -- 高频面试题(图文详解,小白一看就懂!!)

目录 一、前言 二、题目描述 三、解题方法 &#x1f4a7;栈模拟法&#x1f4a7;-- 双指针 ⭐ 解题思路 ⭐ 案例图解 四、总结与提炼 五、共勉 一、前言 栈的压入、弹出序列 这道题&#xff0c;可以说是--栈专题--&#xff0c;最经典的一道题&#xff0c;也是在…

前端通过ResizeObserver来监听dom大小动态渲染echarts

export const GlobalResizeObserver (function () {const ATTR_NAME global-resizeobserver-keyconst attrValueToCallback {}function antiShake(fn, delay, immediate false) {let timer null//不能用箭头函数return function () {//在时间内重复调用的时候需要清空之前…

Java 实现将List按照字符串(特定规则)排序

日常开发中我们通常会遇到将一个List按照特定的规则排序&#xff0c;例如我们需要将一个List按照 “广州市”, “深圳市”, “珠海市”, “汕头市” 的顺序排序&#xff0c;我们可以使用下述方式实现。 City实体类 import lombok.AllArgsConstructor; import lombok.Data; im…

如何使用飞书快捷指令无感记账,ios版

总结 很多人无法长期坚持记账&#xff0c;主要是每次消费需要打开手机软件&#xff0c;一系列繁琐的操作&#xff0c;导致过程中可能就忘了。 今天给大家带来飞书自动记账。 演示视频 点击查看&#xff1a;https://www.douyin.com/video/7312857946382241063 安装 下载快捷…

hive调优原理详解:案例解析参数配置(第17天)

系列文章目录 一、Hive常问面试函数&#xff08;掌握&#xff09; 二、Hive调优如何配置&#xff08;重点&#xff09; 文章目录 系列文章目录前言一、Hive函数&#xff08;掌握&#xff09;11、JSON数据处理12、炸裂函数13、高频面试题13.1 行转列13.2 列转行 14、开窗函数&a…

Vue2 基础八电商后台管理项目——中

代码下载 商品分类页 新商品分类组件 goods/Cate.vue&#xff0c;在router.js中导入子级路由组件 Cate.vue&#xff0c;并设置路由规则。 绘制商品分类基本结构 在Cate.vue组件中添加面包屑导航以及卡片视图中的添加分类按钮&#xff1a; <template><div><…

AcWing算法基础课笔记——记忆化搜索:滑雪

记忆化搜索 1. 滑雪 题目 题目描述&#xff1a; 给定一个R行C列的矩阵&#xff0c;表示一个矩形网格滑雪场。 矩阵中第 i 行第 j 列的点表示滑雪场的第 i 行第 j 列区域的高度。 一个人从滑雪场中的某个区域内出发&#xff0c;每次可以向上下左右任意一个方向滑动一个单位…

常用word文档格式

1.字体要求 中文&#xff1a;宋体 英文&#xff1a;Times New Roman 2.标题 主标题&#xff1a;二号或小二号&#xff0c;居中&#xff0c;不加粗 副标题&#xff1a;三号&#xff0c;不加粗 三级标题&#xff1a;小三号&#xff0c;不加粗 3.修订记录 excel格式&#xff…

mac Canon打印机连接教程

官网下载安装驱动&#xff1a; 选择打印机类型和mac系统型号下载即可 Mac PS 打印机驱动程序 双击安装 系统偏好设置 点击“”添加&#xff1a; OK可打印玩耍&#xff01;&#xff01; 备注&#xff1a; 若需扫描&#xff0c;下载扫描程序&#xff1a; 备注&#xff1a;…