topArray.js

包含了Array类的一些原型方法,以及工具函数: $A, $each

License

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

topArray

概要
属性
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 返回数组中最后一个项

top属性

topforEach

迭代一个数组。这个方法使各个浏览器都能使用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);

topfilter

实现非原生支持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]

topmap

实现非原生支持 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];

topevery

实现非原生支持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

topsome

实现非原生支持 some 的浏览器的filter方法。 更多详情请参见:http://developer.mozilla.org- /en- /docs- /Core_JavaScript_1.5_Reference:Global_Objects:Array:some

some 迭代数组中的项并执行一个回调函数直到某个回调函数返回true。回调函数只针对数组项中有值的项执行。如果数组中的项已经被删除或则没有被赋值,则回调函数不会执行。

参数

fn 回调函数。数组的当前迭代项和index将被传入。
bind 回调函数中this所要引用的对象

Example

var isAnyBigEnough = [10,4,25,100].some(function(item, index){
 return item > 20;
});
//isAnyBigEnough = true

topindexOf

实现非原生支持 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

topeach

Array.forEach方法等同

参数

fn 回调函数。数组的当前迭代项和index将被传入。
bind 回调函数中this所要引用的对象

示例

var Animals = ['Cat', 'Dog', 'Coala'];
Animals.each(function(animal){
   document.write(animal)
});

topcopy

返回一个数组的副本

返回值

当前数组的一个副本

参数

start 整数; 可选;起始索引, 默认为0。 如果为负数,则从数组的结尾的偏移量开始。
length 整数; 可选; 要复制的数量. 默认情况下, 复制全部

示例

var letters = ["a","b","c"];
var copy = letters.copy();     //新数组: ["a","b","c"]

topremove

移除在数组中的和给出值相等的项

参数

item 要从数组中移除的项

返回值

移除项后的数组

示例

["1","2","3","2"].remove("2"); 	//结果: ["1","3"];

topcontains

测试数组中是否含有所给出的项

参数

item 要在数组中查找的项
from 整数; 可选; 开始查找的起始索引, 默认为 0。如果为负数,则从数组的结尾的偏移量开始。

返回值

true 找到
false 未找到

示例

["a","b","c"].contains("a"); // true
["a","b","c"].contains("d"); // false

topassociate

传入一个作为键的数组,然后和本数组的值结合产生一个键值对。

参数

keys 一个其中的项将用来作为键的数组

示例

var Animals = ['Cat', 'Dog', 'Coala', 'Lizard'];
var Speech = ['Miao', 'Bau', 'Fruuu', 'Mute']; 
var Speeches = Animals.associate(Speech); //Speeches['Miao'] 的值为 Cat. //Speeches['Bau'] 的值为 Dog. //...

topextend

接纳另外一个数组

参数

array 将要纳入的数组

示例

var Animals = ['Cat', 'Dog', 'Coala'];
Animals.extend(['Lizard']);
//Animals 变为: ['Cat', 'Dog', 'Coala', 'Lizard'];

topmerge

和另一个数组合并,重复的项将被替代。

参数

array 将要合并的数组

示例

['Cat','Dog'].merge(['Dog','Coala']);  //返回: ['Cat','Dog','Coala']

topinclude

把给出的元素纳入本数组。

参数

item 将要纳入数组的项

示例

['Cat','Dog'].include('Dog');   //返回: ['Cat','Dog']
['Cat','Dog'].include('Coala'); //返回: ['Cat','Dog','Coala']

topgetRandom

在数组中随机选择一个项

topgetLast

返回数组中最后一个项

top工具函数

概要
函数
$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.

topFunctions

top$A()

Array.copy功能等同。

示例

function myFunction(){
    $A(arguments).each(argument, function(){
	alert(argument);
    });
}; 

top$each

可用来对非常规数组进行迭代, 比如内建的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之家