zoukankan      html  css  js  c++  java
  • indexOf方法(Array)

    孤陋寡闻了,一直以为indexOf()方法只是用来处理字符串,昨天面试才知道,原来还可以处理数组,涨知识了~。
    indexOf()方法返回某个值在数组中的第一个匹配项的索引。
    用法:array1.indexOf(searchElement,fromIndex)。

     参数  定义
     array1  必需。 一个数组对象。
     searchElement  必需。 要在 array1 中定位的值。
     fromIndex  可选。 用于开始搜索的数组索引。 如果省略 fromIndex,则从索引 0 处开始搜索。

    返回值
    数组中的 searchElement 的第一个匹配项的索引;如果未找到 searchElement,则为 -1。
    备注
    indexOf 方法在数组中搜索指定的值。 该方法返回第一个匹配项的索引;如果找不到指定的值,则为 -1。
    按升序索引顺序执行搜索。
    数组元素将与 searchElement 值进行全等比较,与 === 运算符类似。 有关更多信息,请参见比较运算符 (JavaScript)。
    可选 fromIndex 参数指定用于开始搜索的数组索引。 如果 fromIndex 大于或等于数组长度,则返回 -1。 如果 fromIndex 为负,则搜索从数组长度加上 fromIndex 的位置处开始。
    示例
    下面的示例阐释了 indexOf 方法的用法。

    <script type='text/javascript">
    // Create an array. (The elements start at index 0.)
    var ar = ["ab", "cd", "ef", "ab", "cd"];
    
    // Determine the first location of "cd".
    document.write(ar.indexOf("cd") + "<br/>");
    
    // Output: 1
    
    // Find "cd" starting at index 2.
    document.write(ar.indexOf("cd", 2) + "<br/>");
    
    // Output: 4
    
    // Find "gh" (which is not found).
    document.write (ar.indexOf("gh")+ "<br/>");
    
    // Output: -1
    
    // Find "ab" with a fromIndex argument of -2.
    // The search starts at index 3, which is the array length plus -2.
    document.write (ar.indexOf("ab", -2) + "<br/>");
    // Output: 3
    </script>
    

    注意:IE9之前的浏览器不支持此用法

    为了兼容IE9以前的浏览器,可以在IE9以前的浏览器原型上添加这个方法。

    <script type="text/javascript">
    if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE8.0"||"MSIE7.0"||"MSIE6.0"){
    	Array.prototype.indexOf=function(el){
    		for(var i=0;i<this.length;i++){
    			if(this[i]===el){
    				return i;
    			}
    		}
    		return -1;
    	}
    }
    var arr=[1,2,34,5,6,7];
    var arrChild=34;
    console.log(arr.indexOf(arrChild));
    </script>
    

      

  • 相关阅读:
    Linux/UNIX套接字连接
    javascript 数组去重
    android开发步步为营之68:Facebook原生广告接入总结
    Java虚拟机内存区域堆(heap)的管理
    honeywell D6110开发的一个工厂仓库追溯识别
    [Asp.net MVC]Asp.net MVC5系列——添加模型
    [Asp.net MVC]Asp.net MVC5系列——添加视图
    [Asp.net MVC]Asp.net MVC5系列——第一个项目
    [SQL]死锁处理语句
    [EF]使用EF简单增删改查
  • 原文地址:https://www.cnblogs.com/invincible-hehe/p/3711092.html
Copyright © 2011-2022 走看看