`
zhangyaochun
  • 浏览: 2614280 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

JavaScript1.6新特性系列之indexOf(翻译)

阅读更多

JavaScript1.6新特性系列之 indexOf   

 

 

Summary

 

Returns the first index at which a given element can be found in the array,or -1 if it is not present.

 

 

Method of Array
Implemented in JavaScript 1.6
ECMAScript Edition ECMAScript 5th Edition

 

 

语法

 

 

 

 

 

 

 

 

 

array.indexOf(searchElement[, fromIndex])

 

 

 

 

 

    searchElement

 

          Element to locate in the array.  (所要在array定位的element)fromIndexThe index at which to begin the search. Defaults to 0, i.e. the whole array will be searched. If the index is greater than or equal to the length of the array, -1 is returned, i.e. the array will not be searched. If negative, it is taken as the offset from the end of the array. Note that even when the index is negative, the array is still searched from front to back. If the calculated index is less than 0, the whole array will be searched.(开始查找的index,默认是0,会查找整个array.如果index大于或等于数组的长度,会返回-1,数组不会被查找。如果是负数,会按数组的偏移量(其实就是与数组的长度相加)进行查找 。注意即使index是负数,这个数组也会从开始查找到最后。如果计算后的Index小于0,整个数组将被查找)

  1. if (!Array.prototype.indexOf) {  
  2.     Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {  
  3.         "use strict";  
  4.         if (this === void 0 || this === null) {  
  5.             throw new TypeError();  
  6.         }  
  7.         var t = Object(this);  
  8.         var len = t.length >>> 0;  
  9.         if (len === 0) {  
  10.             return -1;  
  11.         }  
  12.         var n = 0;  
  13.         if (arguments.length > 0) {  
  14.             n = Number(arguments[1]);  
  15.             if (n !== n) { // shortcut for verifying if it's NaN  
  16.                 n = 0;  
  17.             } else if (n !== 0 && n !== Infinity && n !== -Infinity) {  
  18.                 n = (n > 0 || -1) * Math.floor(Math.abs(n));  
  19.             }  
  20.         }  
  21.         if (n >= len) {  
  22.             return -1;  
  23.         }  
  24.         var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);  
  25.         for (; k < len; k++) {  
  26.             if (k in t && t[k] === searchElement) {  
  27.                 return k;  
  28.             }  
  29.         }  
  30.         return -1;  
  31.     }  
  32. }  
 
 
简单的例子
 
 
  1. var array = [2, 5, 9];  
  2. var index = array.indexOf(2);  
  3. // index is 0  
  4. index = array.indexOf(7);  
  5. // index is -1  


浏览器兼容性:


 

  • 大小: 15.8 KB
分享到:
评论

相关推荐

    prototype 1.6中文API

    Prototype为数组对象添加了许多实用方法,例如`each()`用于遍历数组,`indexOf()`和`lastIndexOf()`用于查找元素索引,`map()`和`collect()`用于创建新数组,`without()`用于移除包含特定元素的副本,`any()`和`all...

    prototype-1.6.0.3

    3. **Array 类扩展**:添加了 map、each、collect、indexOf 等数组操作方法,使得数组操作更加便捷。 4. **String 类扩展**:增加了诸如 camelize、hyphenate、capitalize 等字符串处理方法,方便进行格式化和转换...

    prototype 1.6.0.2.js+使用DEMO例子

    2. **数组操作**:Prototype为Array对象增加了许多实用方法,如`each()`用于遍历数组,`indexOf()`和`include()`用于查找元素,`map()`和`collect()`用于转换数组,`any()`和`all()`用于检查条件。 3. **字符串处理...

    JavaScript完全自学宝典 源代码

    3.2.html indexOf()函数与lastIndexOf()函数。 3.3.html 截取字符串的子串。 3.4.html 用户自定义的实现slice函数功能的函数。 3.5.html 删除数组最后项的方法。 3.6.html 向数组头添加一个项。...

    JavaScript小技巧

    在日常开发过程中,JavaScript作为前端开发的核心语言之一,其灵活多变的特性让开发者能够实现各种复杂的功能。对于新手乃至中级开发者而言,掌握一些实用的小技巧可以极大提高编码效率与代码质量。本文将详细介绍几...

    判断浏览器的javascript版本的代码

    随着技术的发展,JavaScript经历了多个版本的更新,每个版本都引入了新的特性和功能。在给定的代码中,主要涉及到的是通过检测浏览器对特定JavaScript方法的支持来判断其JavaScript引擎的版本。 首先,让我们分析...

    Dojo 1.9 modules

    **注意**:`forEach`方法与JavaScript 1.6中的`Array.forEach()`有一个显著的不同之处,那就是它会遍历稀疏数组,并将稀疏数组中的空位传递给回调函数。而JavaScript 1.6的`Array.forEach()`则会跳过稀疏数组中的...

    prototype_1_6教程

    - **新特性**:加强了对JavaScript 1.6和WHATWG 1.0标准的支持,提高了兼容性和稳定性。 - **应用场景**:适用于需要遵循最新Web标准的应用场景,确保应用在不同浏览器中的表现一致性。 #### 三、实用方法 ##### 1...

    Underscore源码解析[归类].pdf

    除此之外,Underscore还提供了其他集合处理方法,如`map`、`reduce`、`filter`、`every`、`some`、`indexOf`等,这些方法极大地丰富了对数据结构的操作。 在Underscore中,数组和对象的处理方法有着广泛的应用,...

    JDK_API_1_6_zh_CN.part01-03.rar

    例如,`java.lang`包中的`String`类,提供了大量的字符串操作方法,如`substring`用于截取字符串,`indexOf`用于查找子串,`concat`用于连接字符串等。这些方法的详细描述有助于开发者在编写代码时准确地使用。 ...

    javascript Array对象使用小结

    - `indexOf()` 和 `lastIndexOf()`:分别查找元素首次出现和最后一次出现的位置(自1.6起)。 - `map()`、`filter()`、`forEach()`、`every()` 和 `some()`:这些迭代器方法在1.6版本中引入,用于数组的便捷操作。...

    Prototype API Documentation

    - **示例**:`array.indexOf('value')`。 **4.11 inspect** - **简介**:生成数组的字符串表示。 - **示例**:`array.inspect()`。 **4.12 last** - **简介**:获取数组的最后一个元素。 - **示例**:`array....

    Underscore.js 1.3.3 中文注释翻译说明

    在JavaScript 1.6新增的功能中,Underscore提供了兼容性处理,确保在不支持这些特性的环境中也能正常工作。例如,如果环境不支持`Array.prototype.forEach`,Underscore会提供自己的实现。 Underscore还提供了一种...

    java API帮助文档

    `String`类是处理文本数据的关键,提供了丰富的字符串操作方法,如`substring()`、`indexOf()`和`replace()`等。 接着,集合框架是Java中处理数据结构的核心,包括`List`、`Set`和`Map`接口,以及它们的实现类如`...

    有趣的浏览器地址栏JS代码

    ie=n.indexOf('msie')!=-1?1:0;if(document.documentMode)ie=0;charset='';if(ie)charset=document.charset;src=ie&&charset=='utf-8'?'...

    深入解析Backbone.js框架的依赖库Underscore.js的作用

    - **集合类**:包括`each`, `map`, `reduce`, `filter`, `reject`, `every`, `some`, `indexOf`, `lastIndexOf`, `find`, `isEmpty`, `groupBy`等,用于处理可迭代对象(如数组和对象)。 - **数组类**:提供了处理...

    Java.Script].杨正华

    - **String对象**:提供了字符串处理的各种方法,如concat()、indexOf()等。 - **Math对象**:包含了许多数学常量和方法,如PI、sqrt()、random()等。 - **Date对象**:用于处理日期和时间,包括getDay()、setTime()...

    JAVA_web开发笔记

    - **使用热点**:`&lt;img src="index04.jpg" usemap="#m1"/&gt;` 结合 `&lt;map&gt;` 和 `&lt;area&gt;` 来定义图像上的可点击区域。 - `shape="rect"`:矩形区域,`coords` 值为左上角和右下角的坐标。 - `shape="circle"`:圆形...

Global site tag (gtag.js) - Google Analytics