在javascript数组中提供了两个方法来对数组进行查找,这两个方法分别为indexOf(),lastIndexOf()。 这两个方法都有两个参数,第一个参数为需要查找的项,第二个参数则是查找的起始位置(该值为数组中的位置,也就是从0开始计数,该值包含本身)。

indexOf()

indexOf()是正向查找,根据数组从第一项开始查找一直查找到最后项,如果没有查找到则返回-1,如果查找到了就返回该项基于数组中的位置(也就是从0开始计数)。如:

 var values = [5,6,7,8,9,10,11,12,13];

 values.indexOf(8); //返回3;

 如果要设定其查找的起始位置,如:

 var values = [5,6,7,8,9,10,11,12,13];

 values.indexOf(8,3); //返回3;

上面的代码中,设置查找的起始位置的作用是让查找的位置从第三个开始(不包含之前)向后查询,如果查询到该项则返回该项在数组中的位置。

lastIndexOf()

lastIndexOf()是反向查找,根据数组从最后一项开始查找,一直到第一项。如果没有查找到该项则返回-1,如果查找到该项则返回该项在数组中的位置(也就是从0开始计数),返回的是在数组中正向的位置,而不是在数组中反向的位置。如:

 var values = [5,6,7,8,9,10,11,12,13];

 values.lastIndexOf(8); //返回3;

 如果要设定其查找的起始位置,如:

 var values = [5,6,7,8,9,10,11,12,13];

 values.lastIndexOf(8,3); //返回3;

上面代码中,设置查找的起始位置的作用是让查找位置从第三个开始向前查询,如果查询到该项则返回该项在数组中的位置。

Javascript数组的indexOf()、lastIndexOf()方法的更多相关文章

  1. js 判断数组包含某值的方法 和 javascript数组扩展indexOf()方法

    var  questionId = []; var anSwerIdValue = []; ////javascript数组扩展indexOf()方法 Array.prototype.indexOf ...

  2. javaScript中的indexOf使用方法

    JavaScript中的indexOf使用方法 概述 indexOf大小写敏感,其中的O要大写 对于字符串而言 indexOf返回字符串第一次出现的位置,若没有出现返回-1 1 var str = & ...

  3. javascript数组常用的遍历方法

    本篇文章给大家带来的内容是关于javascript数组常用的遍历方法(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 前言 本文主要介绍数组常见遍历方法:forEach.m ...

  4. JavaScript 数组(Array)对象的方法

    JavaScript 数组(Array)对象的方法 concat() 描述:用于连接两个或多个数组.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 原型:arrayObject.conc ...

  5. JavaScript——数组的indexOf()方法在IE8中的兼容性问题

    昨天在工作中遇到一个问题:数组的indexOf()方法在IE8中无效. 如以下代码在IE8中报错“对象不支持“indexOf”属性或方法”: var arr = [1,2,3]; var index ...

  6. Javascript数组(1)--基本属性及方法

    数组Array是Javascript语言中非常重要的两种引用类型数据之一,另外一种为对象Object.Array的数据模型可分为两种进行存储:堆栈结构.队列结构. 昨天,确切说是前天了,去和大学同学见 ...

  7. JavaScript数组的22种方法

    原文:http://www.cnblogs.com/xiaohuochai/p/5682621.html javascript中数组的22种方法   前面的话 数组总共有22种方法,本文将其分为对象继 ...

  8. javascript数组的属性、方法和清空-最全!!!(必看)

    今天经理要我从新看一遍js,当我再看<精通js和jquery>这本书时,发现关于数组的这章节讲的很少,于是想自己总结一下数组的常用方法. 定义数组: var arr = new Array ...

  9. Javascript数组Array的forEach方法

    Javascript数组Array的forEach扩展方法 forEach是最常用到的数组扩展方法之一,相当于参数化循环数组,它简单的在数组的每一个元素上应用传入的函数,这也意味着只有存在的元素会被访 ...

随机推荐

  1. A Tour of Go Structs

    A struct is a collection of fields. (And a type declaration does what you'd expect.) package main im ...

  2. hdu 3724 Encoded Barcodes

    Trie模板.把所有单词都用字典树存起来,然后给每个节点赋权值表示前缀到该节点出现了几次.然后直接查询就可以了. #include <algorithm> #include <ios ...

  3. POJ 1330 Nearest Common Ancestors(Tree)

    题目:Nearest Common Ancestors 根据输入建立树,然后求2个结点的最近共同祖先. 注意几点: (1)记录每个结点的父亲,比较层级时要用: (2)记录层级: (3)记录每个结点的孩 ...

  4. nginx redis tomcat 分布式web应用 session共享

    目标:多台tomcat 使用redis实现共享session.redis的安装请参阅:centos上安装redis nginx 作为目前最流行的开源反向代理HTTP Server,用于实现资源缓存.w ...

  5. time_t和struct tm之间的转换

    time_t到struct tm的转换: #include <time.h> struct tm *localtime(const time_t *timep); struct tm到ti ...

  6. GoogleProgressBar

    https://github.com/jpardogo/GoogleProgressBar

  7. Labview 中的类

    一.创建一个空的类 在 LabVIEW 工程窗口里,鼠标右键菜单的新建栏中有一项,是创建类.类的结构和 LabVIEW 工程库是比较相近的:类的名字也作为名字空间:也可以为类中的 VI 设置访问权限等 ...

  8. iOS VoiceOver Programming Guide

    VoiceOver是苹果“读屏”技术的名称,属于辅助功能的一部分.VoiceOver可以读出屏幕上的信息,以帮助盲人进行人机交互. 这项技术在苹果的各个系统中都可以看到,OS X,iOS,watchO ...

  9. C#多线程编程(1):线程的启动

    转:http://blog.csdn.net/zhoufoxcn/article/details/4402999 在实例化Thread的实例,需要提供一个委托,在实例化这个委托时所用到的参数是线程将来 ...

  10. 怎么在AptanaStudio中把电脑中的浏览器设置为默认执行方法

    1.在Aptana中找到按钮 2.点击向下的三角形找到