javascript数组的方法(一)

烈酒焚心 提交于 2019-12-18 13:33:16

javascript数组的方法

javascript提供的数组的一些方法都比较简单好用,但偶尔会出现用的时候想不到。所以全部列一下,供后期参考。

ECMAScript3的一些方法

ECMAScript3的方法现在主流的浏览器都是支持的。

  1. 1.        join()

join方法是将数组中的元素连接成字符串。参数可选。参数即是连接符。为空时,参数为逗号。

示例代码:

1  var arr=[0,1,2,3,4] ;
2  alert("无参数时连接:"+arr.join());  //无参数时,以逗号连接
3  alert("以空格连接:"+arr.join(" "));//以空格连接数组元素

运行结果:

 

 

 

  1. 2.        reverse()

reverse方法是将数组里的元素的顺序全部颠倒,逆序排列。

示例代码:

1 var arr = [0,1,2,3,4];
2 alert(arr.reverse().join());//显示结果:[4,3,2,1,0]

运行结果:

 

  1. 3.        sort()

sort方法,是将数组中的元素排序。默认无参时按ascii增序排列。可以一个参数。该参数是一个比较函数,比较函数有两个参数。

比较函数需要提供两个参数的比较功能。如果第一个参数应该在前,则返回小于0.如果第一个参数应该在后,则返回大于0.相等即等于0。

示例代码:

1 var arr = [4,1111,222,33];//
2 alert(arr.sort().join());  //默认按ascii码排序
3 alert(arr.sort(
4             function(a, b) {
5                 return a - b;//如果a小于b,则结果小于0,则排在b的前面
6             }
7           ).join()); //指定排序函数

运行结果:

按ascii码排序

 

按数值从小到大排序

 

  1. 4.        concat()

将数组和参数合并成一个新数组并返回。参数可以是单个或多个元素,也可以是单个或多个数组。

示例代码:

1 var arr=[1,2,3];
2 alert(arr.concat(4,5).join());//合并成一个新的组数并返回。显示结果:[1,2,3,4,5]

运行结果:

 

注意,他是返回一个新的数组,并不对原数组做任何操作。

示例代码:

1 var arr=[1,2,3];
2 
3 alert(arr.concat(4,5).join()); //1,2,3,4,5
4 
5 alert(arr.join()); //1,2,3并不对原数组做任何操作

concat也可以合并另一个数组。

示例代码:

1 var arr=[1,2,3];
2 alert(arr.concat([4,8]).join());//1,2,3,4,8 也可以合并另一个或多个数组

5.        slice() 

返回指定数组的一个子数组,和concat一样,不改变原数组。

有两个参数。指定开始和结束位置。如果两个参数都指定时,属于半开区间([begin,end))包括第一个参数指定的开始位置,但不包括第二个参数指定的结束位置。

如果第二个参数不指定,则直接至结尾。

如果参数为负数,则指相对于最后一个元素的位置。-1即是最后一个元素。

示例代码:

1 var arr=[1,2,3,4,5,6,7];
2 alert(arr.slice(1,3))//结果:2,3  半开区间,结束index不包含。只是找第1、2个
3 alert(arr.slice(5));//结果:6,7   如果不指定第二个参数,则到末尾。
4 alert(arr.slice(-3,-1));//结果:5,6  从倒数第三个到第一个(不包括倒数第一个)
  1. 6.        splice()

splice是在数组中插入或删除元素的方法。和concat()、slice()不同的是,他直接把调用他的原数组进行操作。

第一个参数指定插入或删除的起始位置

第二个参数指定删除元素的个数。如果不写,则删除到结尾

第三个以后的任意个数的参数是指定插入的元素。

返回的是删除的元素数组。

示例代码:

1 var arr=[1,2,3,4,5,6,7] ;
2 alert(arr.splice(1,2));//第一个开始删除两个。返回:【2,3】。
3 alert(arr);//原数组被操作。arr=【1,4,5,6,7】
4 alert(arr.splice(1,0,'x','y'));//从第一个开始,删除0个,并在第1个后插入【'x','y'】返回【】
5 alert(arr);//原数组被操作。arr=[1,x,y,4,5,6,7]
6 alert(arr.splice(4));//第二个参数不指定,指删除到结尾。该方法返回【5,6,7】;
7 alert(arr);//原数组被操作。arr=【1,x,y,4】 
  1. 7.        push()

push()和pop()方法是栈操作。

push()方法在数组尾部增加一个或多个元素。并返回数组新的长度。

push()方法直接对原始数组操作。

示例代码:

1 var arr=[1,2,3];
2 alert(arr.push(4,5));//push在尾部添加元素,返回数组新的长度。  返回:5
3 alert(arr);//原始数组被操作。arr=[1,2,3,4,5] 
  1. 8.        pop()

pop()方法和push()方法相反,在尾部删除一个元素。返回删除的元素。

同样的直接对原始数组操作。

示例代码:

1 var arr=[1,2,3] ;
2 alert(arr.pop());//从原数组尾部删除一个元素,并返回删除的元素。返回:3
3 alert(arr);//原始数组被操作,arr=[1,2]

 

  1. 9.        unshift() 

unshift()和shift()类似于push()和pop()方法。不同的是在数组头部操作。

unshift()方法在数组的头部插入元素,并返回数组的新的长度

示例代码:

1 var arr = [1,2,3];
2 alert(arr.unshift(5)); //在数组头部插入元素,并返回数组的新长度。返回:4
3 alert(arr) ; //原始数组被操作。arr=[5,1,2,3] 
  1. 10.    shift()

shift()相反,在头部删除一个元素。并返回删除的元素。

1 var arr=['x',2,3];
2 alert(arr.shift()); //删除第一个元素,并将其返回。返回:x
3 alert(arr);//原始数组被操作。arr=[2,3] 
  1. 11. toString()

将数组字符串化。用逗号分割。相当于join(“,”);

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!