JS 数组位置方法 indexOf()和lastIndexOf()的理解
var numbers = [1,3,5,7,9,4,3,2,1];
console.log(numbers.indexOf(5)); //从数组的0位开始查找 5 位于数组里面的位置 输出2
首先 理解一下 indexOf() 是从左往右查 参数“5” 位于数组的下标 所以这里打印出 2
再看
var numArr = ["hehe","sss","ddada","haha","xixi"];
console.log(numArr.lastIndexOf("dadad")) dadad b不存在 输出-1
console.log(numArr.lastIndexOf("haha")) 输出3
为什么看起来好像跟indexOf()没什么区别呢?? 我在修改一下
var numArr = ["hehe","sss","ddada","haha","haha","xixi"]; 此时 haha有两个
我们在打印看看
console.log(numArr.lastIndexOf("haha")) 输出4
这时输出的就是4 为什么呢?
因为 lastIndexOf()是找某个字符串在数组里最后出现的哪一个的位置。
// var arr = [1,2,3,4,5,6,7,1]
// console.log(arr.lastIndexOf(7));//6 下标为6的位置
// lastIndexOf 是从右向左查某个指定的字符串在字符串中最后一次出现的位置(也就是从后往前查)
var arr = [1,2,3,4,5,6,7,1]
console.log(arr.lastIndexOf(7,4));//6 下标为6的位置
//4为查找的索引(也就是下标到4) 如数组里1,2,3,4,5 因为7不在该索引里 所以打印-1
再看!!!
// var arr = [1,2,3,4,5,5,6,7,1];
// console.log(arr.indexOf(5));//4 下标为4的位置
// console.log(arr.lastIndexOf(5));//5
// 这个时候两个返回的索引值就不同了
// because: 前面已经说了indexOf是从前向后查 而lastIndexOf是从后向前查 但是二者返回索引都是从前开始数数和计算的
JS 数组位置方法 indexOf()和lastIndexOf()的理解的更多相关文章
- js数组的方法小结
js中数组是一种非常常用数据结构,而且很容易模拟其他的一些数据结构,比如栈和队列.数组的原型Array.prototype内置了很多方法,下面就来小小总结一下这些方法. 检测数组就不用多说了,使用EC ...
- 浅谈6种JS数组遍历方法的区别
本篇文章给大家介绍一下6种JS数组遍历方法:for.foreach.for in.for of.. each. ().each的区别.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. ...
- JS数组中的indexOf方法
前言 这两天在家中帮朋友做项目,项目中使用了数组的indexOf 方法,找到了一篇文章,感觉非常不错,顺便整理下以防链接丢失. 相信说到 indexOf 大家并不陌生,判断字符串是否包涵子字符串时特别 ...
- JS数组遍历方法
常用数组遍历方法: 1.原始for循环 var a = [1,2,3]; for(var i=0;i<a.length;i++){ console.log(a[i]); //结果依次为1,2,3 ...
- 再探JS数组原生方法—没想到你是这样的数组
最近作死又去做了一遍javascript-puzzlers上的44道变态题,这些题号称"JS语言专业八级"的水准,建议可以去试试,这里我不去解析这44道题了, ...
- 转:C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
String.IndexOf String.IndexOf 方法 (Char, Int32, Int32)报告指定字符在此实例中的第一个匹配项的索引.搜索从指定字符位置开始,并检查指定数量的字符位置. ...
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
String.IndexOf String.IndexOf 方法 (Char, Int32, Int32)报告指定字符在此实例中的第一个匹配项的索引.搜索从指定字符位置开始,并检查指定数量的字符位置. ...
- js 数组去重方法汇总
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- js数组去重方法整理
1.思路:定义一个新数组,并存放原数组的第一个元素,然后将原数组的项和新数组的元素一一对比,若不同则存放在新数组中. function unique(arr){ var res = [arr[0]]; ...
随机推荐
- 761. Special Binary String
Special binary strings are binary strings with the following two properties: The number of 0's is eq ...
- cad2008 参照面板 在位编辑后无法使用
有时候在位编辑之后,保存在位编辑了,可是参照面板无法动了,这个时候只要保存一下,然后ctrl+z,就可以解决了..蛮神奇的,我还没想到如何用代码去搞定它..
- 解决“UnicodeEncodeError: 'gbk' codec can't encode character u'\xa9' in position 24051: illegal multibyte sequence”错误
今天我在爬取一个网页时出现了下面这个错误: UnicodeEncodeError: 'gbk' codec can't encode character u'\xa9' in position 240 ...
- 小程序基础知识点讲解-WXML + WXSS + JS,生命周期
小程序基础 小程序官方地址,小程序开发者工具,点击此处下载.在微信小程序中有一个配置文件project.config.json,此文件可以让开发者在不同设备中进行开发. 微信小程序共支持5种文件,wx ...
- 兼容多数浏览器的js添加收藏夹脚本
浏览器不断发展,js的很多脚本需要跟进才能适应,目前多数代码对新版本浏览器(IE11, Firefox 27)无法适用,特关注跟进. 推荐代码1 适用浏览器:IE11(windows 8.1), Fi ...
- jQuery应用实例2:表格隔行换色
这里是用JS实现的:http://www.cnblogs.com/xuyiqing/p/8376312.html 接下来利用上一篇提到的选择器利用jQuery实现: 发现原来多行代码这里只需要两行: ...
- 安装apache 后,找不到服务,解决办法
在命令行进入安装apache的bin目录下,在输入命令:httpd.exe -k install -n Apache版本号 回车即可注意:要在管理员的身份下进入cmd (C:\Windows\SysW ...
- 当强制关机时,出现Eclipse打不开的问题
关于Eclipse或MyEclipse启动卡死的问题(即Eclipse上一次没有正确关闭,导致启动的时候卡死错误解决方法): 方案1:(推荐使用,如果没有这个文件,就使用方案2,方案2基本上 ...
- Hadoop项目实战-用户行为分析之分析与设计
1.概述 本课程的视频教程地址:<用户行为分析之分析与设计> 下面开始本教程的学习,本教程以用户行为分析案例为基础,带着大家对项目的各个指标做详细的分析,对项目的整体设计做合理的规划,让大 ...
- Python 判断文件/目录是否存在
使用 os 模块 判断文件是否存在 os.path.isfile(path) 判断目录是否存在 os.path.isdir(path) 判断路径是否存在 # 使用 path 模块 os.path.ex ...