javascript数组的方法
javascript提供的数组的一些方法都比较简单好用,但偶尔会出现用的时候想不到。所以全部列一下,供后期参考。
ECMAScript3的一些方法
ECMAScript3的方法现在主流的浏览器都是支持的。
- 1. join()
join方法是将数组中的元素连接成字符串。参数可选。参数即是连接符。为空时,参数为逗号。
示例代码:
1 var arr=[0,1,2,3,4] ; 2 alert("无参数时连接:"+arr.join()); //无参数时,以逗号连接 3 alert("以空格连接:"+arr.join(" "));//以空格连接数组元素
运行结果:
- 2. reverse()
reverse方法是将数组里的元素的顺序全部颠倒,逆序排列。
示例代码:
1 var arr = [0,1,2,3,4]; 2 alert(arr.reverse().join());//显示结果:[4,3,2,1,0]
运行结果:
- 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码排序
按数值从小到大排序
- 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 从倒数第三个到第一个(不包括倒数第一个)
- 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】
- 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]
- 8. pop()
pop()方法和push()方法相反,在尾部删除一个元素。返回删除的元素。
同样的直接对原始数组操作。
示例代码:
1 var arr=[1,2,3] ; 2 alert(arr.pop());//从原数组尾部删除一个元素,并返回删除的元素。返回:3 3 alert(arr);//原始数组被操作,arr=[1,2]
- 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]
- 10. shift()
shift()相反,在头部删除一个元素。并返回删除的元素。
1 var arr=['x',2,3]; 2 alert(arr.shift()); //删除第一个元素,并将其返回。返回:x 3 alert(arr);//原始数组被操作。arr=[2,3]
- 11. toString()
将数组字符串化。用逗号分割。相当于join(“,”);
来源:https://www.cnblogs.com/wangwb7613/archive/2013/05/05/3060670.html