JavaScript数组函数总结

JavaScript数组函数总结

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

< script language=javascript>

var mya=new Array();

mya[0]="aa";

mya[1]="bb";

mya[2]="cc";

mya[3]="dd";

var myText=mya.join(",");

function joinArray(){

alert(myText);

}

function splitArray(){

var mya2=myText.split(",");

for(var i=0;i

alert(mya2[i]);

}

}

 

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

var array1=new Array(1,2,3);

var array2=new Array("a","b","c");

var array3=array1.concat(array2);

//result:array3 with values 1,2,3,"a","b","c"

 

var arrayText=myArray.join(",");

 

 

堆栈:

array.pop()

array.push(valueOrObject)

array.shift()

array.unshift(valueOrObject)

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

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

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

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

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

 

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

 

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

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

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

 

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后面

例如:按数字顺序排序

myArray=new Array(12,34,2,123)

function compare(a , b){

  return a-b

}

myArray.sort(compare)

 

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

function compare(a , b){

  //last character of array strings

  var aComp=a.charAt(a.length - 1)

  var bComp=b.charAt(b.length - 1)

  if(aComp < bComp){return - 1}

  if(aComp > bComp){return 1}

  return 0

}

 

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

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

function compare(a , b){

  return parseInt(a.age)-parseInt(b.age)

}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值