js数组函数

数组数据项的连接与分割:

 

  
  
  
  
  1. < script language=javascript>  
  2.  
  3. var mya=new Array();  
  4.  
  5. mya[0]="aa";  
  6.  
  7. mya[1]="bb";  
  8.  
  9. mya[2]="cc";  
  10.  
  11. mya[3]="dd";  
  12.  
  13. var myText=mya.join(",");  
  14.  
  15. function joinArray(){  
  16.  
  17. alert(myText);  
  18.  
  19. }   
  20.  
  21. function splitArray(){  
  22.  
  23. var mya2=myText.split(",");  
  24.  
  25. for(var i=0;i   
  26.  
  27. alert(mya2[i]);  
  28.  
  29. }  
  30.  
  31. }  

 

用array.concat()方法可以把两个array对象连接为一个新的array对象。例如:

 

  
  
  
  
  1. var array1=new Array(1,2,3);  
  2.  
  3. var array2=new Array("a","b","c");  
  4.  
  5. var array3=array1.concat(array2);  
  6.  
  7. //result:array3 with values 1,2,3,"a","b","c"  
  8.  
  9.  
  10. var arrayText=myArray.join(",");  

 

 

堆栈:

 

  
  
  
  
  1. array.pop()  
  2.  
  3. array.push(valueOrObject)  
  4.  
  5. array.shift()  
  6.  
  7. array.unshift(valueOrObject)  

push()和pop()在数组的末端工作,shift()和unshift()工作在数组的前端。

当把一个值push()到一个数组中时,这个值被作为最后一个数据项追加到数组中。

当使用array.pop()方法时,数组中的最后一项就会从堆栈中移出并作为返回值返回,同时数组的长度减1。

当把一个值unshift()到一个数组中时,这个值被作为第一个数据项插入到数组中。

当使用array.shift()方法时,数组中的第一项就会从堆栈中移出并作为返回值返回,同时数组的长度减1。

 

array.reverse() --> 返回值:和原数组顺序相反的数组项

 

array.slice(startIndex[,endIndex]) --> 返回值:数组

此方法需要一个参数,也就是提取的起始索引位置。如果不指定第二个参数,提取将一直进行到数组的结尾,

否则,只提取到第二个参数指定的位置,但不包括那个位置。

 

 

  
  
  
  
  1. array.splice(startIndex,deleteCount[,item1[,item2[,...itemN]]])) 

如果需要从数组中删去一些项,使用array.splice()方法能简化这一任务,否则还需要从原始数组的选择项中组合一个新数组。

所需的两个参数中第一个是基于0的索引整数,它指向当前数组中被删除的第一项;

第二个参数也是一个整数,它说明了要从数组中删除多少个连续项。删除数组项影响了数组的长度,被删除的项作为其自身的数组被splice()方法返回。

还可以使用splice()方法来替换数组项。从第三个参数开始是可选参数,它允许提供要插入数组的数据元素,这些数据元素要替换被删除的数据项。

被加入的数据项可以是任何JavaScript数据类型,新数据项的数量不一定必须等于被删除的数据项的数量。

实际上,通过将第二个参数指定为0,可以使用splice()向数据的任何位置插入一个或多个数据项。

 

array.toLocaleString() --> 一般使用数组中的每一项使用逗号分开。

array.toString() --> 此方法的精确的字符串转化取决于特定的浏览器的实现方式。

一般使用兼容器更强的旧方法array.toString()

 

array.sort([compareFunction]) --> 返回值:以compareFunction算法控制顺序的数组项

排序改变了原始数组的排列顺序!

默认调用排序时,是以字符的ASCII值为标准。

比较函数的返回值:

<0 : 值b排在a后面

=0 : a和b的顺序不改变

>0 : 值a排在b后面

例如:按数字顺序排序

 

  
  
  
  
  1. myArray=new Array(12,34,2,123)  
  2.  
  3. function compare(a , b){  
  4.  
  5.   return a-b  
  6.  
  7. }  
  8. myArray.sort(compare)

 

 

例如比较字符串数组中的每一个数据项的最后一个字符,按字母顺序来排序

 

  
  
  
  
  1. function compare(a , b){  
  2.  
  3.   //last character of array strings  
  4.  
  5.   var aComp=a.charAt(a.length - 1)  
  6.  
  7.   var bComp=b.charAt(b.length - 1)  
  8.  
  9.   if(aComp < bComp){return - 1}  
  10.  
  11.   if(aComp > bComp){return 1}  
  12.  
  13.   return 0  
  14.  
  15. }  

 

例如:如果一个数组中有这样的对象,它们的属性值定义了关于雇员的信息,其中一个属性是雇员的年龄,定义为字符串类型。

用下面的比较函数并以对象的age属性所对应的数值为基础,就可以排序这个数组

 

  
  
  
  
  1. function compare(a , b){  
  2.  
  3.   return parseInt(a.age)-parseInt(b.age)  
  4.  
  5. }  

 

你可能感兴趣的:(职场,休闲,js数组函数)