首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JSindexOf方法

大家好,又见面了,我是你们朋友全栈君。 indexOf()简介 indexOf()是js中内置方法之一,它功能大家都很熟悉:简单来说就是得到数据索引,对于正则不熟练的人,是个很不错方法。...如果查询到返回索引,反之返回-1(固定用法); 因为indexOf()在不同类型使用时候可能有细节性注意点; 这里我们对不同数据类型使用IndexOf场景进行讨论(其实就是string和array...) 注:(暂不讨论两个参数时(第二个参数为查询起始位置),以及lastIndexOf()) String类型使用indexOf(); String中indexOf方法 (话不多说直接上代码,不跟你多...如果参数是数值它会转换为字符来进行查询然后返回索引,本质原因是什么呢,那就是 我们js底层代码中String.prototype.indexOf()使用是==进行比较判断; Number类型IndexOf...()是不会进行隐式类型转换,也就是说Array.prototype.indexOf()底层代码在实现时候使用是强等于=== 严格比较; 总结 string中indexOf() 会将数值参数转换为字符再查询索引

5.1K40
您找到你想要的搜索结果了吗?
是的
没有找到

JSindexOf用法 「建议收藏」

大家好,又见面了,我是你们朋友全栈君。 String.IndexOf(Char, [startIndex], [count]):返回指定字符在原字符串中第一个匹配项索引。...可指定字符开始检索位置和指定长度字符,若没有找到该字符,则返回 -1。也可以判断数组中是否包含某个值。...console.log(str.indexOf("o")) //4 console.log(str.indexOf("Hello")) //0 console.log(str.indexOf("World...")) //-1 console.log(str.indexOf("world")) //6 需要注意是,当匹配到一个字符串时,会返回字符串中第一个字符索引,如上例匹配word时,返回是6。...wo shi ooo" console.log(str.indexOf("o",8)) //14 有indexOf,也就有lastIndexOf,它和indecOf相反,是匹配字符串最后一次出现索引

2.9K20

js indexOf 正确用法「建议收藏」

indexOfjs中有着重要作用,可以判断一个元素是否在数组中存在,或者判断一个字符是否在字符串中存在,如果存在返回该元素或字符第一次出现位置索引,不存在返回-1。...(str.indexOf("w")); //打印结果为5 那么,当想删除某个数组中某个元素时,常常会这么写 var arr = [1, 2, 3]; var idx = arr.indexOf(2)...(arr2)); //打印结果为1 这下明白了,就是因为如果数组中存放是对象或者数组的话,必须是该对象引用,才可以使用indexOf得到正确索引值。...(arr[i]) == JSON.stringify(el)){ return i; } } return -1; } 上面这段代码实现原理是将数组中元素和传进去对象都通过...因为一旦对象中字段顺序前后颠倒,就会匹配不到,返回-1(曾经被这个坑深深伤了心)。 那么到底怎么规避这样问题呢,从原理上来说,就是挨个比较对象里每个元素是否都相等。

1.4K30

【第4期】JS数组中indexOf方法

相信说到 indexOf 大家并不陌生,判断字符串是否包涵子字符串时特别常用,正则不熟练同学利器。这篇文章就最近遇到一个问题,用实例再说说说indexOf方法。...本文是小知识点积累,不作为深入讨论的话题,因此这里没有解释indexOf()第二个参数,相信大家都知道第二个参数作用。...String 类型使用 温习一下大家熟知字符串用法,举个例子 let str = 'orange'; str.indexOf('o'); //0 str.indexOf('n'); //3 str.indexOf...0 //文艺青年写法 ('' + num).indexOf(2); //0 第一种写法简单直接,对于已知较短数字也不是不可行。...arr.indexOf(‘o')输出 -1 因为此方法不会在每一个元素基础上再次执行 indexOf 匹配。

2K10

JS通过substring、indexOf、lastIndexOf截取字符串中对应内容「建议收藏」

大家好,又见面了,我是你们朋友全栈君。...(str); //输出:bcde Tips:截取字符串结束下标是不包含该字符本身 ---- indexOf(value);//查找匹配字符首次出现位置,并返回下标 如果indexOf()匹配不到字符串...,则返回-1 value为需要匹配字符串 Demo: let str="abcdefghizk"; let index=str.indexOf("c"); console.log(index); //...输出2 返回匹配字符串下标 ---- lastIndexOf(value);//查找匹配字符串最后出现位置,并返回下标 如果lastIndexOf()匹配不到字符串,则返回-1 value为需要匹配字符串...Demo: let str="abcdefghizk('http://www.baidu.com')lnmopqrstuv"; let url=str.substring(str.indexOf("('

1.6K20

java中indexOf()类基本使用

17         System.out.println("————————————————————————————————————————————————");         // 从指定位置开始查找...("————————————————————————————————————————————————");         // 查找所有“Day”出现位置并打印出来         pos =...s1.indexOf("Day");         while (pos !...            System.out.println(pos);             // pos++;             pos += "Day".length();//优化了运算,跨过“day”3...//从指定字符串下标位置开始从后往前返回值         pos = s1.lastIndexOf("good");         System.out.println(pos);

1.3K20

JS ----- 底层原理

什么是JS JavaScript是一种基于对象动态、弱类型脚本语言(简称JS),是一种解释型语言,和其他编程语言不同,如java/C++等编译型语言,这些语言在代码执行前会进行通篇编译,先编译成字节码...而JS不是这样做JS是不需要编译成中间码,而是可以直接在浏览器中运行,JS运行过程可分为两个阶段,编译和执行。...(可参考你不知道JS这本书),当JS控制器转到一段可执行代码时(这段可执行代码就是编译阶段生成),会创建与之对应执行上下文(Excution Context简称EC)。...执行上下文可以理解为执行环境(执行上下文只能由JS解释器创建,也只能由JS解释器使用,用户是不可以操作该"对象")。...JS 底层运行原理 每调用一个函数就会生成一个执行环境(俗称执行上下文),执行上下文环境数量没有限制 每调用一个函数就会生成一个执行环境(俗称执行上下文),执行上下文环境数量没有限制 单线程 同步执行

2K10

hashmap低层原理(js底层原理)

大家好,又见面了,我是你们朋友全栈君。 数组:其实所谓数组指就是一组相关类型变量集合,并且这些变量彼此之间没有任何关联。...存储区间连续,占用内存严重,数组有下标,查询数据快,但是增删比较慢; 链表:一种常见基础数据结构,是一种线性表,但是不会按照线性顺序存储数据,而是每一个节点里存到下一个节点指针。...HashMap结构及原理 HashMap是基于哈希表Map接口非同步实现。实现HashMap对数据操作,允许有一个null键,多个null值。...HashMap扩容机制 扩容必须满足两个条件 存放新值时候当前已有元素必须大于阈值; 存放新值时候当前存放数据发生hash碰撞(当前key计算hash值计算出数组索引位置已经存在值) HashMap...HashMap也有可能存储更多键值对,最多可以存储26个键值对,我们来算一下:存储前11个值全部发生hash碰撞,存到数组同一个位置中,(这时元素个数小于阈值12,不会扩容),之后存入15个值全部分散到数组剩下

1.8K20

面试官:indexOf 和 findIndex 区别?

indexOf 与 findIndex 都是查找数组中满足条件第一个元素索引 indexOf Array.prototype.indexOf(): indexOf() 方法返回在数组中可以找到一个给定元素第一个索引...() 使用严格等号(与 === 或 triple-equals 使用方法相同)来比较 searchElement 和数组中元素 所以,indexOf 更多是用于查找基本类型,如果是对象类型,则是判断是否是同一个对象引用...()方法返回数组中满足提供测试函数第一个元素索引。...indexOf 与 findIndex 区别(总结) indexOf :查找值作为第一个参数,采用 === 比较,更多是用于查找基本类型,如果是对象类型,则是判断是否是同一个对象引用 findIndex...:比较函数作为第一个参数,多用于非基本类型(例如对象)数组索引查找,或查找条件很复杂 源码实现(加深) indexOf : if (!

85260

Node.js 底层原理

前言:之前分享了 Node.js 底层原理,主要是简单介绍了 Node.js 一些基础原理和一些核心模块实现,本文从 Node.js 整体方面介绍 Node.js 底层原理。...第一部分是首先介绍一下 Node.js 组成和代码架构。然后介绍一下 Node.js Libuv, 还有 V8 和模块加载器。最后介绍一下 Node.js 服务器架构。...1 Node.js 组成和代码架构 下面先来看一下Node.js 组成。Node.js 主要是由 V8、Libuv 和一些第三方库组成。 1. V8 我们都比较熟悉,它是一个 JS 引擎。...Node.js 代码主要是分为三个部分,分别是C、C++ 和 JS。 1. JS 代码就是我们平时在使用那些 JS 模块,比方说像 http 和 fs 这些模块。 2....可以看到,Node.js 虽然是跑在多线程上面的,但是所有的 JS 代码都是跑在单个线程里,这也是我们经常讨论 Node.js 是单线程还是多线程,从不同角度去看就会得到不同答案。

96540

Node.js底层原理

前言:本文根据最近做一次分享整理而成,希望能帮忙大家深入理解Node.js一些原理和实现。 大家好,我是一名Node.js爱好者,今天我分享主题是Node.js底层原理。...在大前端趋势下,Node.js不仅拓展了前端技术范围,同时,扮演角色也越来越重要,深入了解和理解技术底层原理,才能更好地为业务赋能。 今天分享内容主要分为两大部分。...第一部分是Node.js基础和架构, 第二部分是Node.js核心模块实现。...一 Node.js基础和架构 Node.js组成 Node.js代码架构 Node.js启动过程 Node.js事件循环 二 Node.js核心模块实现 进程和进程间通信...V8:实现JS解析和支持自定义功能,得益于V8支持自定义拓展,才有了Node.js。 Node.js代码架构 ? 上图是Node.js代码架构,Node.js代码主要分为JS、C++、C三种。

1.9K20

C# dotnet 使用 startIndex 提升 IndexOf 性能

在代码审查 WPF 仓库时候,小伙伴告诉我说使用 dotnet core 版本 WPF 开了 ReadyToRun 提升还不够大,他准备开始一大波业务无关优化,其中就包含了 xaml 中字符串相关优化...我在 davidwrighton 大大优化代码和 pentp 大大代码审查里面学到了使用 startIndex 提升 IndexOf 性能,本文就来和大家分享一下 假定只有一个字符匹配,例如从字符串里面找到...最简单是如下面代码 int colonIdx = uriInput.IndexOf(":"); 上面代码是 WPF 源代码,优化之前代码 Baml2006Reader.cs ae1790531 在...Use faster char based overload of String.IndexOf 优化之后代码是 Baml2006Reader.cs 00a26a27 可以看到优化就是将只有一个字符字符串替换为字符...int colonIdx = uriInput.IndexOf(':'); 这样写能提升不少性能,为什么呢?

81210

Node.js原理

Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型实时应用。 Node.js 是一个可以让 JavaScript 运行在浏览器之外平台。...历史上将 JavaScript移植到浏览器外计划不止一个,但Node.js 是最出色一个。...Node.js作用 Node 公开宣称目标是 “旨在提供一种简单构建可伸缩网络程序方法”。...Node.js能做什么 借用一句经典描述Node.js的话:正如 JavaScript 为客户端而生,Node.js 为网络而生。...运行原理分析 当我们搜索Node.js时,夺眶而出关键字就是 “单线程,异步I/O,事件驱动”,应用程序请求过程可以分为俩个部分:CPU运算和I/O读写,CPU计算速度通常远高于磁盘读写速度,这就导致

2.9K70
领券