join()方法:
方法Array.join()可以把一个数组的所有元素都转换成字符串,然后再把它们连接起来。可以指定一个可选的字符串来分隔结果字符串中的元素。如果没有指定分隔字符串,其默认使用逗号分隔元素。
代码如下 | 复制代码 |
var arr=[1,2,3]; //用数组直接量,定义一个三个元素的数组 var result = arr.join(); //result == '1,2,3' 变成字符串了 var result = arr.join("_"); //result == '1_2_3' |
变成字符串了其实join()函数如果不指定参数,等同于join(‘,’),其默认分隔符为“逗号”。
reverse()方法:
方法Array.reverse()方法可以将数组元素的顺序倒序排列,并返回倒序后的数组。这是在原数组上进行的操作。这并不是创造一个新数组,是直接把原数组内的所有元素倒序排列。
代码如下 | 复制代码 |
var arr= new Array('LaoNB','bolo','jo2','simaopig'); |
//用构造函数定义一个四个元素的数组
代码如下 | 复制代码 |
var result = arr.reverse(); //result[0] == 'simaopig' result[1] == 'jo2' result[2] == 'bolo' result[3] == 'LaoNB' |
sort()方法:
方法Array.sort()是在原数组上对数组元素进行反序,返回排序后的数组。其也可以指定一个排列顺序的参数,不过这个参数是比较有意思的。其是?两个元素值的一个闭包,如果调用时不传递给它参数,那么它将按照字母顺序对数组元素进行排序(如果必要的话,可以暂将元素转换成字符串以执行比较操作):
代码如下 | 复制代码 |
var arr = new Array('xiaoxiaozi','laonb','juejin'); //用构造函数定义一个三个元素的数组 var result = arr.sort(); |
//juejin laonb xiaoxiaozi如果数组含有未定义的元素,这些元素将被放在数组的末尾。
如果要将数组按照别的顺序来排序,则必须传递一个比较函数作为sort()函数的参数。该函数确定它的两个参数在排序数组中哪个在前,哪个在后。如果第一个参数应该位于第二个参数之前,那么比较函数将返回一个小于0的数。如果第一个参数应该出现在第二个参数之后,那么比较函数就会返回一个大于0的数。如果两个参数相等(例如它们的顺序是相等的),那么比较函数将返回0。
代码如下 | 复制代码 |
var arr = [2,4,5,1]; arr.sort(); //返回的是1,2,4,5 arr.sort( |
concat()方法:
方法Array.concat()能创建并返回一个数组,这个数组包含了调用concat()的原始数组的元素,其后跟随的是concat()的参数。如果其中有些参数是数组,那么它将被展开,这尤其重要。但是这个concat()并不会递归地展开一个元素为数组的数组。也就是说其只会展开参数内的最外层的数组。说的很乱,看示例吧:
代码如下 | 复制代码 |
var arr = [1,2,3,4]; arr.concat(5); //结果为1,2,3,4,5 arr.concat([5],[6]);//结果为1,2,3,4,5,6 arr.concat([5,6],[7,8]);//结果为1,2,3,4,5,6,7,8 arr.concat(5,[6,[7,8]]);//结果为1,2,3,4,5,6,[7,8] |
slice()方法:
方法Array.slice()方法返回的是指定数组的子数组。其有两个参数,指定了要的子数组的起始和结束位置,返回其二者中间的子集。如果结束位置(第二个参数)缺省的话,则一直返回到数组结束。如果参数为负,则从后往前来截取。记住此函数是创建新的数组。嗯。
//都是在原数组上进行操作
代码如下 | 复制代码 |
var arr = [1,2,3,4,5,6,7,8]; arr.slice(1,3); //数组元素从0开始,则其返回第一位开始到第三位的中间元素:[2,3] |
方法是插入或删除数组元素的通用方法,直接改变原数组。虽然其名字和上一个方法非常相似,可是功效是完全不一样滴,各位一定要注意。呵呵。
splice()可以把元素从数组中删除,也可以将新元素插入到数组中,或者是同时执行这两种操作,听起来很是怪异。位于被插入了或删除了的元素之后的数组元素会进行必要的移动,以便能够和数组余下的元素保持连续性。splice()的第一个参数指定了要插入或删除的元素在数组中的位置。第二个参数则指定了要从数组中删除的元素个数。如果第二个参数缺省,那么将删除从开始元素到数组结尾处的所有元素。splice()返回的是删除了元素之后的数组,如果没有删除任何元素,则返回一个空数组。
//在新的arr上面进行操作
代码如下 | 复制代码 |
var arr = [1,2,3,4,5,6,7,8]; arr.splice(4); //返回的是[5,6,7,8]被删除的部分,arr变成了[1,2,3,4] alert(arr.join()); //1,2,3,4 arr.splice(1,2); //返回的是[2,3],arr变成了[1,4] arr.splice(1,1); // |
返回的是[4],arr变成了[1]splice()的前两个参数指定了应该删除的数组元素。这两个参数之后还可以有任意多个额外的参数,它们指定的是要从第一个参数指定的位置处开始插入的元素
代码如下 | 复制代码 |
var arr = [1,2,3,4,5]; arr.splice(2,0,'a','b'); //返回[],arr变成[1,2,'a','b',3,4,5] arr.splice(2,2,[1,2],3); //返回['a','b'],arr变成[1,2,[1,2],3,3,4,5]呼, |
这篇写的实在不爽