导航

js数组操作学习总结

Posted on 2014-05-09 00:50  酷鱼影子  阅读(142)  评论(0编辑  收藏  举报

splice()

处理数组的方法很多,javascript splice()算是最强大的了,它非常灵活可以用于插入删除替换数组的元素。下面来一一介绍! 

1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数) 
2.插入-向数组指定位置插入任意项元素。三个参数,第一个参数(其实位置),第二个参数(0)是固定数,第三个参数(插入的项) 

3.替换-向数组指定位置插入任意项元素,同时删除任意数量的项,三个以上参数。第一个参数(起始位置),第二个参数(删除的项数),第三个以后的参数为插入任意数量的项

代码如下:

<span style="color:#333333;"><script type="text/javascript">
        var lang = ["php","java","javascript"]; 
        </span><span style="color:#ff0000;">//删除 </span><span style="color:#333333;">
        var removed = lang.splice(1,1); 
        alert(lang); //php,javascript 
        alert(removed); //java ,返回删除的项 
        </span><span style="color:#ff0000;">//插入 </span><span style="color:#333333;">
        var insert = lang.splice(0,0,"asp"); //从第0个位置开始插入 
        alert(insert); //返回空数组 
        alert(lang); //asp,php,javascript 
        </span><span style="color:#ff0000;">//替换 </span><span style="color:#333333;">
        var replace = lang.splice(1,1,"c#","ruby"); //删除一项,插入两项 
        alert(lang); //asp,c#,ruby,javascript 
        alert(replace); //php,返回删除的项 
    </script></span>

pop

删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined
var a = [1,2,3,4,5];
var b = a.pop();

结果  a:[1,2,3,4]  b:5


push

将参数添加到原数组末尾,并返回数组的长度
var a = [1,2,3,4,5];
var b = a.push(6,7);

结果a:[1,2,3,4,5,6,7]   b:7


concat

返回一个新数组,是将参数(一个数值或一个数组)添加到原数组中构成的
var a = [1,2,3,4,5];

var b = [6,7,8];
var c = a.concat(6,7);

var d =  a.concat(b);

alert(c);

alert(d);

结果 a:[1,2,3,4,5]   b:[1,2,3,4,5,6,7]


reverse

将数组反序
var a = [1,2,3,4,5];
var b = a.reverse();

结果  a:[5,4,3,2,1]    b:[5,4,3,2,1]


sort(orderfunction)

按指定的参数对数组进行排序
var a = [1,2,3,4,5];
var b = a.sort();

结果 a:[1,2,3,4,5]    b:[1,2,3,4,5]


slice(start,end)

切割,返回从原数组中指定开始下标到结束下标之间的项组成的新数组
var a = [1,2,3,4,5];
var b = a.slice(2,5);

结果 a:[1,2,3,4,5] b:[3,4,5]

与之对应:字符串的切割用substring


join(separator)

将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
var a = [1,2,3,4,5];
var b = a.join("|");

结果 a:[1,2,3,4,5] b:"1|2|3|4|5"

contains

var a = [1,2,3,4,5];
if(a.contains(2)){

 //to do

}

contains不支持,兼容IE用indexOf

if(a.indexOf(2)!=-1){

 //to do

}