包含了Array类的一些原型方法,以及工具函数: $A, $each
MIT-style license.
Array.js | 包含了Array类的一些原型方法,以及工具函数: $A, $each |
Array |
|
属性 | |
forEach | 迭代一个数组。这个方法使各个浏览器都能使用forEach这个方法而不需要浏览器原生的对 forEach 的支持。 |
filter | 实现非原生支持filter的浏览器的filter方法 |
map | 实现非原生支持 map 的浏览器的filter方法 |
every | 实现非原生支持every 的浏览器的filter方法 |
some | 实现非原生支持 some 的浏览器的filter方法 |
indexOf | 实现非原生支持 indexOf 的浏览器的filter方法 |
each | 和 Array.forEach方法等同 |
copy |
返回一个数组的副本 |
remove | 移除在数组中的和给出值相等的项 |
contains | 测试数组中是否含有所给出的项 |
associate | 传入一个作为键的数组,然后和本数组的值结合产生一个键值对。 |
extend | 接纳另外一个数组 |
merge | 和另一个数组合并,重复的项将被替代。 |
include | 把给出的元素纳入本数组。 |
getRandom | 在数组中随机选择一个项 |
getLast | 返回数组中最后一个项 |
工具函数 | |
函数 | |
$A() | 和 Array.copy功能等同 |
$each | 可用来对非常规数组进行迭代, 比如内建的getElementsByTagName的返回值, 函数的arguments对象, 或者是一个object |
属性 | |
forEach | 迭代一个数组。这个方法使各个浏览器都能使用forEach这个方法而不需要浏览器原生的对 forEach 的支持。 |
filter | 实现非原生支持filter的浏览器的filter方法 |
map | 实现非原生支持 map 的浏览器的filter方法 |
every | 实现非原生支持every 的浏览器的filter方法 |
some | 实现非原生支持 some 的浏览器的filter方法 |
indexOf | 实现非原生支持 indexOf 的浏览器的filter方法 |
each | 和 Array.forEach方法等同 |
copy | 返回一个数组的副本 |
remove | 移除在数组中的和给出值相等的项 |
contains | 测试数组中是否含有所给出的项 |
associate | 传入一个作为键的数组,然后和本数组的值结合产生一个键值对。 |
extend | 接纳另外一个数组 |
merge | 和另一个数组合并,重复的项将被替代。 |
include | 把给出的元素纳入本数组。 |
getRandom | 在数组中随机选择一个项 |
getLast | 返回数组中最后一个项 |
迭代一个数组。这个方法使各个浏览器都能使用forEach这个方法而不需要浏览器原生的对 forEach 的支持。 更多详情请参见: http://developer.mozilla.org- /en- /docs- /Core_JavaScript_1.5_Reference:Global_Objects:Array:forEach
forEach 迭代数组中的项并执行一个回调函数,回调函数只针对数组项中有值的项执行。如果数组中的项已经被删除或则没有被赋值,则回调函数不会执行。
fn | 回调函数。数组的当前迭代项和index将被传入。 |
bind | 回调函数中this所要引用的对象 |
['apple','banana','lemon'].each(function(item, index){ alert(index + " = " + item); }, bindObj);
实现非原生支持filter的浏览器的filter方法。更多详情请参见: http://developer.mozilla.org- /en- /docs- /Core_JavaScript_1.5_Reference:Objects:Array:filter
filter 迭代数组中的项并执行一个回调函数。 并以回调函数返回true的那些项来构造一个新的数组. 回调函数只针对数组项中有值的项执行。如果数组中的项已经被删除或则没有被赋值,则回调函数不会执行。
fn | 回调函数。数组的当前迭代项和index将被传入。 |
bind | 回调函数中this所要引用的对象 |
var biggerThanTwenty = [10,3,25,100].filter(function(item, index){ return item > 20; }); //结果: biggerThanTwenty = [25,100]
实现非原生支持 map 的浏览器的filter方法。更多详情请参见: http://developer.mozilla.org- /en- /docs- /Core_JavaScript_1.5_Reference:Global_Objects:Array:map
map 迭代数组中的项并执行一个回调函数, 并根据回调函数返回的值来构造一个新数组。 回调函数只针对数组项中有值的项执行。如果数组中的项已经被删除或则没有被赋值,则回调函数不会执行。
fn | 回调函数。数组的当前迭代项和index将被传入。 |
bind | 回调函数中this所要引用的对象 |
var timesTwo = [1,2,3].map(function(item, index){ return item * 2; }); //结果: timesTwo = [2,4,6];
实现非原生支持every 的浏览器的filter方法 。更多详情请参见: http://developer.mozilla.org- /en- /docs- /Core_JavaScript_1.5_Reference:Global_Objects:Array:every
every 迭代数组中的项并执行一个回调函数直到某个回调函数返回false。回调函数只针对数组项中有值的项执行。如果数组中的项已经被删除或则没有被赋值,则回调函数不会执行。
fn | 回调函数。数组的当前迭代项和index将被传入。 |
bind | 回调函数中this所要引用的对象 |
var areAllBigEnough = [10,4,25,100].every(function(item, index){ return item > 20; }); //结果: areAllBigEnough = false
实现非原生支持 some 的浏览器的filter方法。 更多详情请参见:http://developer.mozilla.org- /en- /docs- /Core_JavaScript_1.5_Reference:Global_Objects:Array:some
some 迭代数组中的项并执行一个回调函数直到某个回调函数返回true。回调函数只针对数组项中有值的项执行。如果数组中的项已经被删除或则没有被赋值,则回调函数不会执行。
fn | 回调函数。数组的当前迭代项和index将被传入。 |
bind | 回调函数中this所要引用的对象 |
var isAnyBigEnough = [10,4,25,100].some(function(item, index){ return item > 20; }); //isAnyBigEnough = true
实现非原生支持 indexOf 的浏览器的filter方法。 更多详情请参见: http://developer.mozilla.org- /en- /docs- /Core_JavaScript_1.5_Reference:Global_Objects:Array:indexOf
indexOf 查找给出项在数组中的索引。
item | 要在数组中定位的元素 |
from | 整数; 可选; 查找的起始位置(默认为 0) |
['apple','lemon','banana'].indexOf('lemon'); //returns 1 ['apple','lemon'].indexOf('banana'); //returns -1
和 Array.forEach方法等同
fn | 回调函数。数组的当前迭代项和index将被传入。 |
bind | 回调函数中this所要引用的对象 |
var Animals = ['Cat', 'Dog', 'Coala']; Animals.each(function(animal){ document.write(animal) });
返回一个数组的副本
当前数组的一个副本
start | 整数; 可选;起始索引, 默认为0。 如果为负数,则从数组的结尾的偏移量开始。 |
length | 整数; 可选; 要复制的数量. 默认情况下, 复制全部 |
var letters = ["a","b","c"]; var copy = letters.copy(); //新数组: ["a","b","c"]
移除在数组中的和给出值相等的项
item | 要从数组中移除的项 |
移除项后的数组
["1","2","3","2"].remove("2"); //结果: ["1","3"];
测试数组中是否含有所给出的项
item | 要在数组中查找的项 |
from | 整数; 可选; 开始查找的起始索引, 默认为 0。如果为负数,则从数组的结尾的偏移量开始。 |
true | 找到 |
false | 未找到 |
["a","b","c"].contains("a"); // true ["a","b","c"].contains("d"); // false
传入一个作为键的数组,然后和本数组的值结合产生一个键值对。
keys | 一个其中的项将用来作为键的数组 |
var Animals = ['Cat', 'Dog', 'Coala', 'Lizard']; var Speech = ['Miao', 'Bau', 'Fruuu', 'Mute'];
var Speeches = Animals.associate(Speech); //Speeches['Miao'] 的值为 Cat. //Speeches['Bau'] 的值为 Dog. //...
接纳另外一个数组
array | 将要纳入的数组 |
var Animals = ['Cat', 'Dog', 'Coala']; Animals.extend(['Lizard']); //Animals 变为: ['Cat', 'Dog', 'Coala', 'Lizard'];
和另一个数组合并,重复的项将被替代。
array | 将要合并的数组 |
['Cat','Dog'].merge(['Dog','Coala']); //返回: ['Cat','Dog','Coala']
把给出的元素纳入本数组。
item | 将要纳入数组的项 |
['Cat','Dog'].include('Dog'); //返回: ['Cat','Dog'] ['Cat','Dog'].include('Coala'); //返回: ['Cat','Dog','Coala']
在数组中随机选择一个项
返回数组中最后一个项
函数 | |
$A() | Same as Array.copy, but as function. |
$each | Use to iterate through iterables that are not regular arrays, such as builtin getElementsByTagName calls, arguments of a function, or an object. |
和 Array.copy功能等同。
function myFunction(){ $A(arguments).each(argument, function(){ alert(argument); }); };
可用来对非常规数组进行迭代, 比如内建的getElementsByTagName的返回值, 函数的arguments对象, 或者是一个object
iterable | 一个可迭代的元素或对象 |
function |
迭代中所调用的回调函数 |
bind | 可选。回调函数中this将要引用的对象 |
item | 当前正在迭代处理中的项 |
index | 整数; 项在数组中的索引, 或是键(如果迭代的是对象) |
$each(['Sun','Mon','Tue'], function(day, index){ alert('name:' + day + ', index: ' + index); }); $each({first: "Sunday", second: "Monday", third: "Tuesday"},function(value, key){ alert("the " + key + " day of the week is " + value); });
Documentation by Aaron Newton & Mootools Developers, generated by NaturalDocs and tidy, and GeSHi
文档中文翻译:zarknight 勘误Email:zarknight@gmail.com asp之家