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()的理解的更多相关文章

  1. js数组的方法小结

    js中数组是一种非常常用数据结构,而且很容易模拟其他的一些数据结构,比如栈和队列.数组的原型Array.prototype内置了很多方法,下面就来小小总结一下这些方法. 检测数组就不用多说了,使用EC ...

  2. 浅谈6种JS数组遍历方法的区别

    本篇文章给大家介绍一下6种JS数组遍历方法:for.foreach.for in.for of.. each. ().each的区别.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. ...

  3. JS数组中的indexOf方法

    前言 这两天在家中帮朋友做项目,项目中使用了数组的indexOf 方法,找到了一篇文章,感觉非常不错,顺便整理下以防链接丢失. 相信说到 indexOf 大家并不陌生,判断字符串是否包涵子字符串时特别 ...

  4. JS数组遍历方法

    常用数组遍历方法: 1.原始for循环 var a = [1,2,3]; for(var i=0;i<a.length;i++){ console.log(a[i]); //结果依次为1,2,3 ...

  5. 再探JS数组原生方法—没想到你是这样的数组

    最近作死又去做了一遍javascript-puzzlers上的44道变态题,这些题号称"JS语言专业八级"的水准,建议可以去试试,这里我不去解析这44道题了, ...

  6. 转:C#中String类的几个方法(IndexOf、LastIndexOf、Substring)

    String.IndexOf String.IndexOf 方法 (Char, Int32, Int32)报告指定字符在此实例中的第一个匹配项的索引.搜索从指定字符位置开始,并检查指定数量的字符位置. ...

  7. C#中String类的几个方法(IndexOf、LastIndexOf、Substring)

    String.IndexOf String.IndexOf 方法 (Char, Int32, Int32)报告指定字符在此实例中的第一个匹配项的索引.搜索从指定字符位置开始,并检查指定数量的字符位置. ...

  8. js 数组去重方法汇总

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  9. js数组去重方法整理

    1.思路:定义一个新数组,并存放原数组的第一个元素,然后将原数组的项和新数组的元素一一对比,若不同则存放在新数组中. function unique(arr){ var res = [arr[0]]; ...

随机推荐

  1. 简介jsp

    1.JSP简介 Java动态网页技术标准(Java Server Pages)是基于Servlet技术以及整个Java体系的Web开发技术是用于动态生成HTML文档的Web页面模板JSP是为了改进Se ...

  2. Flask中的before_request after_request

    1.@app.before_request 在请求(request)之前做出响应 @app.before_request 也是一个装饰器,他所装饰的函数,都会在请求进入视图函数之前执行 2.@app. ...

  3. CentOS No manual entry for man 没有 xx 的手册页条目

    yum install -y man man-pages man-pages-overrides https://unix.stackexchange.com/questions/182500/no- ...

  4. Hibernate入门1 - Hibernate概述及第一个小例子

    一.什么是ORM? ORM,即Object Relational Mapping.我们知道,利用面向对象的思想编写的数据库应用程序最终都是把对象信息保存在关系型数据库中,于是需要编写与底层数据库相关的 ...

  5. HDU 6020---MG loves apple(枚举)

    题目链接 Problem Description MG is a rich boy. He has n apples, each has a value of V(0<=V<=9). A ...

  6. Django--models--多表操作

    一 创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关 ...

  7. 使用python-aiohttp爬取今日头条

    http://blog.csdn.net/u011475134/article/details/70198533 原出处 在上一篇文章<使用python-aiohttp爬取网易云音乐>中, ...

  8. Linux下rsync daemon模式下的错误汇总

    一.前言:最近学习服务环境搭建,遇到了许多大大小小的问题,不过还好,经过我的一通努力终于都解决了,所以分享出来给自己留个纪念,同时也希望能帮助学习中的朋友. 二.环境:两台服务器环境相同 1 [roo ...

  9. Mysql 5.7 基于组复制(MySQL Group Replication) - 运维小结

    之前介绍了Mysq主从同步的异步复制(默认模式).半同步复制.基于GTID复制.基于组提交和并行复制 (解决同步延迟),下面简单说下Mysql基于组复制(MySQL Group Replication ...

  10. shiro教程3(加密)

    加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容 概念 数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理, ...