`
zarknight
  • 浏览: 148204 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

mootools【二】 - Array篇

阅读更多

由于JavaScript1.5对Array增加了一些比较好用的方法,如forEach,filter,map,every,som,indexOf,但是在还不支持JavaScript1.5的浏览器里是不能用得,所以,mootools它通过扩展Array来使其实现对这些方法的支持:

---------------------------------Array.js---------------------------------

Array对象的forEach方法

原型:Array.prototype.forEach(callBack: Function, thisObject: Object)

作用:对数组进行迭代操作,它有两个参数,第一个参数callBack是每次迭代所执行的函数,第二个参数thisObject可选,是要绑定到迭代执行的函数上的对象(也就是函数callBack中的this所指向的对象)

js 代码
 
  1. //用法一  
  2. var arr = [1,2,3,4,5,6];  
  3. arr.forEach(function(e){  
  4.      alert(e);  
  5. });  
  6.   
  7. //用法二  
  8. var arr = [1,2,3,4,5,6];  
  9. var obj = "hello!";  
  10. arr.forEach(function(e){  
  11.     alert(e+'--'+this);  
  12. },obj);  
  13.   
  14. //用法三  
  15. function putElt(element, index, array) {  
  16.     document.write("pos [" + index + "] in array (" + array + ") is " + element + '  
  17. ');  
  18. }  
  19. [2, 5, 9].forEach(putElt);  

 

Array对象的filter方法

原型:Array.prototype.filter(callBack: Function, thisObject: Object)

作用:迭代数组,每个元素作为参数执行callBack方法,由callBack方法作为数据过滤网,最后返回过滤后的一个数组

js 代码
 
  1. var result = [1,2,3,4,5].filter(function(e){  
  2.       return e > 3;  
  3. });  
  4. alert(result);   //结果为4,5  

 

Array对象的map方法:

原型:Array.prototype.map(callBack: Function, thisObject: Object)

作用:迭代数组,每个元素作为参数执行callBack方法,由callBack方法对每个元素进行处理,最后返回处理后的一个数组

js 代码
 
  1. var result = [1,2,3,4,5].map(function(e){  
  2.       return e + 'px';  
  3. });  
  4. alert(result);  //结果为1px,2px,3px,4px,5px  

 

Array对象的every方法:

原型:Array.prototype.every(callBack: Function, thisObject: Object)

作用:它的意思就是:是否数组中的每个元素都通过了callBack的处理?如果是,则返回true,如果有一个不是,则立马返回false

js 代码
 
  1. var result = [1,2,3,4,5].every(function(e){  
  2.       return e > 3;  
  3. });  
  4. alert(result);    //返回false  

 

Array对象的some方法:

原型:Array.prototype.some(callBack: Function, thisObject: Object)

作用:它的意思就是:是否数组中的有元素通过了callBack的处理?如果有,则立马返回true,如果一个都没有,则返回false

js 代码
 
  1. var result = [1,2,3,4,5].every(function(e){  
  2.       return e > 3;  
  3. });  
  4. alert(result);    //返回true  

 

Array对象的indexOf方法:

原型:indexOf(searchElement: Object, fromIndex: Number)

作用:在数组中查找是否含有指定对象,如果有,返回对象所在的索引,否则返回-1;第二个参数是可选参数,如果指定的话,比如指定3,则表示从数组的第4个元素开始查找;默认从第0个元素开始查找。

js 代码
 
  1. var x1 = [1,2,3,4,5].indexOf(2);     //结果为1  
  2. var x2 = [1,2,3,4,5].indexOf(2,3);  //结果为-1  

 

----------------------以下的方法是mootools提供的Array的专有扩展,和JavaScript标准无关--------------------------

each

作用:它的用法和作用与forEach一模一样,参看上文的forEach

 

copy

作用:复制数组元素到新的数组中;默认是全部复制,如果指定了开始索引和长度的话,则可以按指定形式复制

js 代码
 
  1. var a = [1,2,3,4,5,6];  
  2. var b1 = a.copy();         //[1,2,3,4,5,6]  
  3. var b2 = a.copy(2,2);   //[3,4]  

 

remove

作用:删除数组中指定值的元素

js 代码
 
  1. var a = [1,2,2,3,4,5,6];  
  2. var b = a.remove(4);  //[1,2,2,3,5,6]  
  3. var c = a.remove(2);  //[1,3,4,5,6]  

 

test

作用:查找数组中是否有指定的值

js 代码
 
  1. var a = [1,2,2,3,4,5,6];  
  2. var b = a.remove(4);  //[1,2,2,3,5,6]  
  3. var c = a.remove(2);  //[1,3,4,5,6]  

 

extend

作用:把另一个数组追加到本数组后(不排除相同值的)

js 代码
 
  1. var a = [1,2,3,4];  
  2. var b = [1,11,12];  
  3. a.extend(b);  
  4. alert(a);             //1,2,3,4,1,11,12  

 

associate

作用:把另一个数组中的值作为key,本数组中的值做为值,组成一个键值对象(长度为两者中较小的那个)

js 代码
 
  1. var v = [1,2,3,4,5];  
  2. var k = ['one','two','three'];  
  3. var kv = v.associate(k);  
  4. alert(kv['one']);               //1  
  5. var v = [1,2];  
  6. var k = ['one','two','three'];  
  7. var kv = v.associate(k);  
  8. alert(kv['one']);               //1  
  9. alert(kv['three']);             //undefined  

$A

作用:和Array的copy方法是一样的作用

js 代码
 
  1. var a = [1,2,3,4];  
  2. var b = $A(a);           //[1,2,3,4]  
  3. var c = $A(a,1,2);     //[2,3]  

 

$each

作用:功能基本和Array的forEach方法相同,官方文档上说可用于非常规数组的迭代,如由getElemntsByTagName调用产生的结果,以及参数数组arguments等。不过管它常规不常规,用起来的形式还是一样的

js 代码
 
  1. var a = [1,2,3,4];  
  2. $each(a,function(e){  
  3.      alert(e);  
  4. });  

 

恩,Array部分终于看好了,自己写的语言表达上感觉有些地方有欠缺,呵呵。。。



 

分享到:
评论
3 楼 zarknight 2008-11-13  
呵呵,没有的部分可以去参考下我翻译的文档吧
2 楼 engineer 2008-11-10  
我今天看好几篇了,但是有些没有,比如mootools的plugin之类的
1 楼 engineer 2008-11-10  
挺不错的,呵呵,希望能有更多的例子

相关推荐

    mootools详细教程

    mootools详细教程 ...mootools框架【三】-Array篇: 方法完全解析 mootools框架【三】-Array篇: 主要方法测试实例 mootools框架【四】-Function篇: 主要方法解析 mootools框架【五】-String篇: 方法完全解析

    mootools-1.2.2-core-nc.js

    mootools-1.2.2-core-nc

    mootools-release-1.11

    "mootools-release-1.11"是MooTools的一个特定版本,发布于2010年,旨在提供稳定性和兼容性的更新。这个版本在当时是一个重要的里程碑,因为它包含了多个关键的改进和修复。 MooTools的核心设计理念是遵循“Write ...

    mootools-core-1.4.5

    mootools,Javascript只能提示工具所必须的js文件

    mootools-1.2.1-core-nc.js

    开源js框架,非常不错,没什么很多介绍的,如果你是做web开发的,千万不要错过

    mootools-core-1.5.1

    Mootools从Prototype.js中汲取了许多有益的设计理念,语法也和其极其类似。但它提供的功能要比Prototype.js多,整体设计也比Prototype.js要相对完善,功能更强大,比如增加了动画特效、拖放操作等等。总之,Mootools...

    MooTools1.4中文PDF手册+MooTools-Core-1.5.1.js

    MooTools 1.4中文PDF手册与MooTools-Core-1.5.1.js是学习和使用MooTools的核心资源。 1. **MooTools的基本概念** - **类与对象**:MooTools基于原型的面向对象系统使得创建和继承类变得简单。你可以定义类并为它们...

    mootools-core-1.4.5-full-compat.js

    mootools-core-1.4.5-full-compat.js

    Python库 | django-mootools-behavior-0.1.tar.gz

    **Python库 django-mootools-behavior-0.1** `django-mootools-behavior-0.1.tar.gz` 是一个针对Python编程语言和Django框架的扩展库,主要用于增强网页前端的行为交互。这个库将MooTools JavaScript库与Django后端...

    mootools-12-cheat-sheet

    ### Mootools-12 Cheat Sheet详解 #### 一、Mootools简介 Mootools 是一个简洁且功能强大的 JavaScript 框架,它提供了一系列的工具和方法来简化前端开发工作。Mootools 的设计哲学是“写少做多”,这使得开发者...

    mootools-12-cheat-sheet-pf.pdf

    ### Mootools核心知识点解析:mootools-12-cheat-sheet-pf.pdf概览 Mootools是一款轻量级且功能强大的JavaScript框架,旨在简化Web开发中的常见任务,如DOM操作、事件处理、动画以及AJAX交互。本文将根据提供的文件...

    MooTools-1.2-Beginner

    #### 二、MooTools的核心特性 1. **面向对象的设计**:MooTools采用了面向对象的设计模式,允许开发者以更直观的方式组织代码。通过继承、封装和多态等特性,使得代码更加易于维护和扩展。 2. **强大的选择器引擎...

    mootools1.2 core

    这个压缩包包含两个核心文件:`mootools-1.2.4-core-nc.js`和`mootools-1.2.4-core-server.js`。 1. **MooTools 1.2 Core** - **模块化设计**:MooTools采用模块化的架构,允许开发者按需加载特定功能,降低页面...

    前端项目-mootools-more.zip

    **前端项目-mootools-more.zip** 是一个包含MooTools扩展库的压缩包,主要针对的是使用MooTools JavaScript框架进行前端开发的项目。MooTools是一个轻量级且高度模块化的JavaScript库,旨在提高开发效率,提供面向...

    Ajax-mootools-doc教程--手册.rar

    通过学习"Ajax-mootools-doc教程--手册.rar"中的内容,开发者不仅可以掌握Ajax的基础知识,还能深入理解MooTools库的使用,提高JavaScript开发效率,尤其在创建动态、响应式的Web应用程序方面。这份资料对初学者和有...

    mootools 1.5.1 最新版下载.rar

    mootools插件 1.5.1 最新版下载,目前,mootools插件的最新版本是1.5.1,这个插件实现的功能不亚于jquery,是一款同样优秀的js插件,为了大家方便,在此与大家... mootools JS文件在mootools-core-1.5.1\dist目录下。

    mootools-中文教程

    #### 二、Array篇 Mootools提供了丰富的数组操作API,这些API使得处理数组数据变得更加简单高效。 ##### 数组操作方法 - **each()**:遍历数组中的每个元素,并执行指定的操作。 - **map()**:对数组中的每个元素...

    mootools-1.2 源码分析

    内含: 01-native.js ...04-array.js 05-browser.js 06-window.js 07-document.js 08-function.js 09-number.js 10-string.js 11-event.js 12-class.js 13-class.extras.js mootools1.2中文文档(html版)

    基于mootools的菜单Mootree

    "基于mootools的菜单Mootree" 指的是一个使用MooTools JavaScript库开发的树形菜单组件。MooTools是一个轻量级且功能丰富的JavaScript框架,它提供了一系列用于创建交互式网页的工具。Mootree则是这个框架下专门用于...

    mootools.js插件 1.4.5 core下载.zip

    比prototypejs更丰富、更强大的mootools.js插件 1.4.5 core下载。mootools.js可以生成较为复杂的、动态的网页交互效果,和jquery一样强大。。Mootools从Prototype.js中汲取了许多有益的设计理念,语法也和其极其类似...

Global site tag (gtag.js) - Google Analytics