function arraySample()
{
/*
forEach: 迭代一个数组。这个方法使各个浏览器都能使用forEach这个方法而不需要浏览器原生的对 forEach 的支持。
更多详情请参见: [url]http://developer.mozilla.org/en/docs[/url] /Core_JavaScript_1.5_Reference:Global_Objects:Array:forEach
forEach 迭代数组中的项并执行一个回调函数,回调函数只针对数组项中有值的项执行。如果数组中的项已经被删除或
则没有被赋值,则回调函数不会执行。
参数: fn 回调函数。数组的当前迭代项和index将被传入。
bind 回调函数中this所要引用的对象
*/
['apple','banana','lemon'].each(function(item, index){
alert(index + " = " + item);
}, null); //bindObj);
/*
filter: 实现非原生支持filter的浏览器的filter方法。
更多详情请参见: [url]http://developer.mozilla.org/en/docs[/url] /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]& lt;/span>
/*
map: 实现非原生支持 map 的浏览器的filter方法。
更多详情请参见: [url]http://developer.mozilla.org/en/docs[/url] /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];< /span>
/*
every: 实现非原生支持every 的浏览器的filter方法 。
更多详情请参见: [url]http://developer.mozilla.org/en/docs[/url] /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< /span>
/*
some: 实现非原生支持 some 的浏览器的filter方法。
更多详情请参见:[url]http://developer.mozilla.org/en/docs[/url] /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: 实现非原生支持 indexOf 的浏览器的filter方法。
更多详情请参见: [url]http://developer.mozilla.org/en/docs[/url] /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
/*
each 和 Array.forEach方法等同
参数: fn 回调函数。数组的当前迭代项和index将被传入。
bind 回调函数中this所要引用的对象
*/
var Animals = ['Cat', 'Dog', 'Coala'];
Animals.each(function(animal){
alert(animal)
});
/*
remove: 移除在数组中的和给出值相等的项
参数: item 要从数组中移除的项
返回值: 移除项后的数组
*/
// ["1","2","3","2"].remove("2"); // 结果: ["1","3"];
/*
contains: 测试数组中是否含有所给出的项
参数: item 要在数组中查找的项
from 整数; 可选; 开始查找的起始索引, 默认为 0。如果为负数,则从数组的结尾的偏移量开始。
返回值: true 找到
false 未找到
*/
["a","b","c"].contains("a"); // true
["a","b","c"].contains("d"); // false
/*
associate 传入一个作为键的数组,然后和本数组的值结合产生一个键值对。
参数: keys 一个其中的项将用来作为键的数组
*/
var Animals = ['Cat', 'Dog', 'Coala', 'Lizard'];
var Speech = ['Miao', 'Bau', 'Fruuu', 'Mute'];
var Speeches = Animals.associate(Speech);
//Speeches['Miao'] 的值为 Cat.
//Speeches['Bau'] 的值为 Dog.
/*
extend 接纳另外一个数组
参数: array 将要纳入的数组
*/
var Animals = ['Cat', 'Dog', 'Coala'];
Animals.extend(['Lizard']);
//Animals 变为: ['Cat', 'Dog', 'Coala', 'Lizard'];
/*combine 和另一个数组合并,重复的项将被替代。 merge已被换成了combine
参数: array 将要合并的数组
*/
alert(['Cat','Dog'].combine(['Dog','Coala'])); //返回: ['Cat','Dog','Coala']
/*
include 把给出的元素纳入本数组。
参数: item 将要纳入数组的项
*/
['Cat','Dog'].include('Dog'); //返回: ['Cat','Dog']
['Cat','Dog'].include('Coala'); //返回: ['Cat','Dog','Coala']
/*
$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);
});
}