ECMAScript 3在Array.prototype中定义了一些很有用的操作数组的函数:
Array.join()方法将数组中所有元素转化为字符串并连接在一起:
var a = [1,2,3]; // 创建一个包含三个元素的数组
a.join(); // =>"1,2,3"
a.join('" "); // =>"1 2 3"
var b = [1,undefined];
b[3] = null; // b=[1,undefiend,<1个空的存储位置>,null];
b.join("-"); // =>'1---'
Array.reverse()方法将数组中的元素颠倒顺序,返回依序的数组:
var a = [1,2,3]; // 创建一个包含三个元素的数组
a.reverse(); // =>a的值变为[3,2,1]
Array.sort()方法将数组中的元素排序并返回排序后的数组:
var a = [ 1, 3, null, "test", undefined, <1 个空的存储位置>, NaN ];
a.sort(); // =>a的值变为[ 1, 3, NaN, null, "test", undefined, <1 个空的存储位置> ];
Array.concat()方法创建并返回一个新数组,数组连接:
var a = [1,2,3];
a.concat(4,5); // 返回[1,2,3,4,5];
a.concat([4,5]); // 返回[1,2,3,4,5];
a.concta([4,5],[6,7]); // 返回[1,2,3,4,5,6,7]
Array.slice(start,end)方法返回指定数组的一个片段或子数组:
var a = [1,2,3,4,5];
a.slice(0,3); // 返回[1,2,3];
a.slice(3); // 返回[4,5];
a.slice(1,-1); // 返回[2,3,4];
Array.splice()方法是在数组中插入或者删除元素的通用方法
var a = [1,2,3,4,5,6,7,8];
a.splice(4); // 返回[5,6,7,8]; a是[1,2,3,4];
a.splice(1,2); // 返回[2,3];a是[1,4];
另外,splice()前两个参数指定要删除的数组元素,紧随其后的人一个参数指定需要插入到数组中的元素:
var a = [1,2,3,4,5];
a.splice(2,2,[1,2],3); // 返回[3,4];a是[1,2,[1,2],3,5];
push()和pop(),push()方法在数组的尾部添加一个或者多个元素,并返回数组新的长度,pop()方法则相反:它删除数组的最后一个元素,减少数组长度并返回他删除的值。注意:两个方法嗾使修改并替换原始数组而非生成一个修改版的新数组。
unshift()和shift()方法的行为和push()和pop()类似,不一样的是前者是在数组的头部而非尾部进行元素的插入和删除操作。其中unshift()是插入并返回长度,shift()是删除并将其返回。
toString()和toLocalString():
toString()针对数组,将数组每个每个元素转换为字符串,并且输出用逗号分隔的字符串列表,这里与不使用任何参数调用join()方法返回的字符串是一样的。
toLocalString()是toString()方法的本地化版本,调用元素的toLocalString()方法将每个数组元素转化为字符串,并使用本地化分隔符将这些字符串连接生成最终的字符串。