首页 > PHP资讯 > HTML5培训技术 > JavaScript数组操作方法介绍

JavaScript数组操作方法介绍

HTML5培训技术

本来今天要写JavaScript正则表达式的内容,不过自己对这方面实在没有把握,所以今天先来一篇JavaScript数组方法的介绍。数组一向是编程语言很重要的一部分。JavaScript为数组对象提供了强大的操作数组元素的方法,下面简单的介绍一二,大家勿笑。

join()方法:

方法Array.join()可以把一个数组的所有元素都转换成字符串,然后再把它们连接起来。可以指定一个可选的字符串来分隔结果字符串中的元素。如果没有指定分隔字符串,其默认使用逗号分隔元素。

[cc lang='javascript']
var arr=[1,2,3]; //用数组直接量,定义一个三个元素的数组

var result = arr.join(); //result == ’1,2,3′ 变成字符串了

var result = arr.join(“_”); //result == ’1_2_3′ 变成字符串了
[/cc]

其实join()函数如果不指定参数,等同于join(‘,’),其默认分隔符为“逗号”。

reverse()方法:

方法Array.reverse()方法可以将数组元素的顺序倒序排列,并返回倒序后的数组。这是在原数组上进行的操作。这并不是创造一个新数组,是直接把原数组内的所有元素倒序排列。

[cc lang='javascript']
var arr= new Array(‘LaoNB’,'bolo’,'jo2′,’simaopig’);//用构造函数定义一个四个元素的数组

var result = arr.reverse(); //result[0] == ‘simaopig’ result[1]== ‘jo2′ result[2] == ‘bolo’ result[3] == ‘LaoNB’

[/cc]

sort()方法:

方法Array.sort()是在原数组上对数组元素进行反序,返回排序后的数组。其也可以指定一个排列顺序的参数,不过这个参数是比较有意思的。其是?两个元素值的一个闭包,如果调用时不传递给它参数,那么它将按照字母顺序对数组元素进行排序(如果必要的话,可以暂将元素转换成字符串以执行比较操作):

[cc lang='javascript']
var arr = new Array(‘xiaoxiaozi’,'laonb’,'juejin’);//用构造函数定义一个三个元素的数组

var result = arr.sort(); //juejin laonb xiaoxiaozi
[/cc]

如果数组含有未定义的元素,这些元素将被放在数组的末尾。

如果要将数组按照别的顺序来排序,则必须传递一个比较函数作为sort()函数的参数。该函数确定它的两个参数在排序数组中哪个在前,哪个在后。如果第一个参数应该位于第二个参数之前,那么比较函数将返回一个小于0的数。如果第一个参数应该出现在第二个参数之后,那么比较函数就会返回一个大于0的数。如果两个参数相等(例如它们的顺序是相等的),那么比较函数将返回0。

[cc lang='javascript']
var arr = [2,4,5,1];

arr.sort(); //返回的是1,2,4,5

arr.sort(
function(first_param,second_param){returnsecond_param-first_param}
); //根据排序返回 > 0, 0, 或 < 0 结果为5,4,2,1
[/cc]

concat()方法:

方法Array.concat()能创建并返回一个数组,这个数组包含了调用concat()的原始数组的元素,其后跟随的是concat()的参数。如果其中有些参数是数组,那么它将被展开,这尤其重要。但是这个concat()并不会递归地展开一个元素为数组的数组。也就是说其只会展开参数内的最外层的数组。说的很乱,看示例吧:

[cc lang='javascript']
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]
[/cc]

slice()方法:

方法Array.slice()方法返回的是指定数组的子数组。其有两个参数,指定了要的子数组的起始和结束位置,返回其二者中间的子集。如果结束位置(第二个参数)缺省的话,则一直返回到数组结束。如果参数为负,则从后往前来截取。记住此函数是创建新的数组。嗯。

[cc lang='javascript']
//都是在原数组上进行操作
var arr = [1,2,3,4,5,6,7,8];

arr.slice(1,3); //数组元素从0开始,则其返回第一位开始到第三位的中间元素:[2,3]
alert(arr.join()); //[1,2,3,4,5,6,7,8]
arr.slice(-3,-1); //从最后倒数第三位到最后一位之间的数:[6,7]
[/cc]

splice()方法:

Array.splice()方法是插入或删除数组元素的通用方法,直接改变原数组。虽然其名字和上一个方法非常相似,可是功效是完全不一样滴,各位一定要注意。呵呵。

splice()可以把元素从数组中删除,也可以将新元素插入到数组中,或者是同时执行这两种操作,听起来很是怪异。位于被插入了或删除了的元素之后的数组元素会进行必要的移动,以便能够和数组余下的元素保持连续性。splice()的第一个参数指定了要插入或删除的元素在数组中的位置。第二个参数则指定了要从数组中删除的元素个数。如果第二个参数缺省,那么将删除从开始元素到数组结尾处的所有元素。splice()返回的是删除了元素之后的数组,如果没有删除任何元素,则返回一个空数组。

[cc lang='javascript']
//在新的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]
[/cc]

splice()的前两个参数指定了应该删除的数组元素。这两个参数之后还可以有任意多个额外的参数,它们指定的是要从第一个参数指定的位置处开始插入的元素

[cc lang='javascript']
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]
[/cc]

呼,这篇写的实在不爽,让人很不爽。嗯。。。匆匆结束吧

HTML5培训技术

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持26不支持0