mootools(二) - Array篇
时间:2007-08-18 来源:linxh
---------------------------------Array.js---------------------------------
Array对象的forEach方法
原型:Array.prototype.forEach(callBack: Function, thisObject: Object)
作用:对数组进行迭代操作,它有两个参数,第一个参数callBack是每次迭代所执行的函数,第二个参数thisObject可选,是要绑定到迭代执行的函数上的对象(也就是函数callBack中的this所指向的对象)
![](/bbs/images/a6339ee3e57d1d52bc7d02b338e15a60.png)
![](/bbs/images/a6339ee3e57d1d52bc7d02b338e15a60.png)
![](/bbs/images/405b18b4b6584ae338e0f6ecaf736533.png)
![](/bbs/images/1c53668bcee393edac0d7b3b3daff1ae.png)
![](/bbs/images/33d02437d135341f0800e3d415312ae8.png)
![](/bbs/images/05dd8d549cff04457a6366b0a7c9352a.png)
![](/bbs/images/a6339ee3e57d1d52bc7d02b338e15a60.png)
![](/bbs/images/a6339ee3e57d1d52bc7d02b338e15a60.png)
![](/bbs/images/a6339ee3e57d1d52bc7d02b338e15a60.png)
![](/bbs/images/a6339ee3e57d1d52bc7d02b338e15a60.png)
![](/bbs/images/405b18b4b6584ae338e0f6ecaf736533.png)
![](/bbs/images/1c53668bcee393edac0d7b3b3daff1ae.png)
![](/bbs/images/33d02437d135341f0800e3d415312ae8.png)
![](/bbs/images/05dd8d549cff04457a6366b0a7c9352a.png)
![](/bbs/images/a6339ee3e57d1d52bc7d02b338e15a60.png)
![](/bbs/images/a6339ee3e57d1d52bc7d02b338e15a60.png)
![](/bbs/images/405b18b4b6584ae338e0f6ecaf736533.png)
![](/bbs/images/1c53668bcee393edac0d7b3b3daff1ae.png)
![](/bbs/images/33d02437d135341f0800e3d415312ae8.png)
![](/bbs/images/05dd8d549cff04457a6366b0a7c9352a.png)
![](/bbs/images/a6339ee3e57d1d52bc7d02b338e15a60.png)
Array对象的filter方法
原型:Array.prototype.filter(callBack: Function, thisObject: Object)
作用:迭代数组,每个元素作为参数执行callBack方法,由callBack方法作为数据过滤网,最后返回过滤后的一个数组
![](/bbs/images/405b18b4b6584ae338e0f6ecaf736533.png)
![](/bbs/images/1c53668bcee393edac0d7b3b3daff1ae.png)
![](/bbs/images/33d02437d135341f0800e3d415312ae8.png)
![](/bbs/images/05dd8d549cff04457a6366b0a7c9352a.png)
![](/bbs/images/a6339ee3e57d1d52bc7d02b338e15a60.png)
Array对象的map方法:
原型:Array.prototype.map(callBack: Function, thisObject: Object)
作用:迭代数组,每个元素作为参数执行callBack方法,由callBack方法对每个元素进行处理,最后返回处理后的一个数组
![](/bbs/images/405b18b4b6584ae338e0f6ecaf736533.png)
![](/bbs/images/1c53668bcee393edac0d7b3b3daff1ae.png)
![](/bbs/images/33d02437d135341f0800e3d415312ae8.png)
![](/bbs/images/05dd8d549cff04457a6366b0a7c9352a.png)
![](/bbs/images/a6339ee3e57d1d52bc7d02b338e15a60.png)
Array对象的every方法:
原型:Array.prototype.every(callBack: Function, thisObject: Object)
作用:它的意思就是:是否数组中的每个元素都通过了callBack的处理?如果是,则返回true,如果有一个不是,则立马返回false
![](/bbs/images/405b18b4b6584ae338e0f6ecaf736533.png)
![](/bbs/images/1c53668bcee393edac0d7b3b3daff1ae.png)
![](/bbs/images/33d02437d135341f0800e3d415312ae8.png)
![](/bbs/images/05dd8d549cff04457a6366b0a7c9352a.png)
![](/bbs/images/a6339ee3e57d1d52bc7d02b338e15a60.png)
Array对象的some方法:
原型:Array.prototype.some(callBack: Function, thisObject: Object)
作用:它的意思就是:是否数组中的有元素通过了callBack的处理?如果有,则立马返回true,如果一个都没有,则返回false
![](/bbs/images/405b18b4b6584ae338e0f6ecaf736533.png)
![](/bbs/images/1c53668bcee393edac0d7b3b3daff1ae.png)
![](/bbs/images/33d02437d135341f0800e3d415312ae8.png)
![](/bbs/images/05dd8d549cff04457a6366b0a7c9352a.png)
![](/bbs/images/a6339ee3e57d1d52bc7d02b338e15a60.png)
Array对象的indexOf方法:
原型:indexOf(searchElement: Object, fromIndex: Number)
作用:在数组中查找是否含有指定对象,如果有,返回对象所在的索引,否则返回-1;第二个参数是可选参数,如果指定的话,比如指定3,则表示从数组的第4个元素开始查找;默认从第0个元素开始查找。
var x2 = [1,2,3,4,5].indexOf(2,3); //结果为-1
----------------------以下的方法是mootools提供的Array的专有扩展,和JavaScript标准无关--------------------------
each
作用:它的用法和作用与forEach一模一样,参看上文的forEach
copy
作用:复制数组元素到新的数组中;默认是全部复制,如果指定了开始索引和长度的话,则可以按指定形式复制
var b1 = a.copy(); //[1,2,3,4,5,6]
var b2 = a.copy(2,2); //[3,4]
remove
作用:删除数组中指定值的元素
var b = a.remove(4); //[1,2,2,3,5,6] var c = a.remove(2); //[1,3,4,5,6]
test
作用:查找数组中是否有指定的值
var b = a.test(11); //fasle var c = a.test(2); //true
extend
作用:把另一个数组追加到本数组后(不排除相同值的)
var b = [1,11,12];
a.extend(b);
alert(a); //1,2,3,4,1,11,12
associate
作用:把另一个数组中的值作为key,本数组中的值做为值,组成一个键值对象(长度为两者中较小的那个)
var k = ['one','two','three'];
var kv = v.associate(k);
alert(kv['one']); //1 var v = [1,2];
var k = ['one','two','three'];
var kv = v.associate(k);
alert(kv['one']); //1 alert(kv['three']); //undefined
$A
作用:和Array的copy方法是一样的作用
var b = $A(a); //[1,2,3,4]
var c = $A(a,1,2); //[2,3]
$each
作用:功能基本和Array的forEach方法相同,官方文档上说可用于非常规数组的迭代,如由getElemntsByTagName调用产生的结果,以及参数数组arguments等。不过管它常规不常规,用起来的形式还是一样的
$each(a,function(e){
alert(e);
});