A-A+

javascript常用的数组方法介绍

2016年01月14日 web前端设计 评论 3 条 阅读 3 views 次

本文章介绍了一些常用的数组方法分享,有需要了解关于数组的同学可参考一下哦,里面包括有关join,splice等。

join()方法:

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

  1. var arr=[1,2,3];  //用数组直接量,定义一个三个元素的数组  
  2. var result = arr.join();  //result == '1,2,3' 变成字符串了  
  3. var result = arr.join("_"); //result == '1_2_3'  

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

reverse()方法:

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

  1. var arr= new Array('LaoNB','bolo','jo2','simaopig');  
  2. //用构造函数定义一个四个元素的数组  
  3. var result = arr.reverse();  //result[0] == 'simaopig' result[1] == 'jo2'  result[2] == 'bolo' result[3] == 'LaoNB'  

sort()方法:

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

  1. var arr = new Array('xiaoxiaozi','laonb','juejin'); //用构造函数定义一个三个元素的数组  
  2. var result = arr.sort();  
  3. //juejin laonb xiaoxiaozi如果数组含有未定义的元素,这些元素将被放在数组的末尾。  

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

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

concat()方法:

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

  1. var arr = [1,2,3,4];  
  2. arr.concat(5); //结果为1,2,3,4,5  
  3. arr.concat([5],[6]);//结果为1,2,3,4,5,6  
  4. arr.concat([5,6],[7,8]);//结果为1,2,3,4,5,6,7,8  
  5. arr.concat(5,[6,[7,8]]);//结果为1,2,3,4,5,6,[7,8]  

slice()方法:

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

都是在原数组上进行操作,代码如下:

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

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

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

在新的arr上面进行操作,代码如下:

  1. var arr = [1,2,3,4,5,6,7,8];  
  2. arr.splice(4); //返回的是[5,6,7,8]被删除的部分,arr变成了[1,2,3,4]  
  3. alert(arr.join()); //1,2,3,4  
  4. arr.splice(1,2); //返回的是[2,3],arr变成了[1,4]  
  5. arr.splice(1,1); //  

返回的是[4],arr变成了[1]splice()的前两个参数指定了应该删除的数组元素,这两个参数之后还可以有任意多个额外的参数,它们指定的是要从第一个参数指定的位置处开始插入的元素,代码如下:

  1. var arr = [1,2,3,4,5];  
  2. arr.splice(2,0,'a','b'); //返回[],arr变成[1,2,'a','b',3,4,5]  
  3. arr.splice(2,2,[1,2],3); //返回['a','b'],arr变成[1,2,[1,2],3,3,4,5]呼,  

这篇写的实在不爽.

标签:

3 条留言  访客:3 条  博主:0 条

  1. 香港云主机

    javascript常用的数组方法,很久没用了都忘完了,不过这个var还没忘记是做什么用的

  2. 大学问社区

    赞一个专业!

  3. 午夜读书

    午夜读书 前来支持一下博客,希望你的博客做的更好,也希望回访我的网站哟^_^ 小妹恭候

给我留言