首先定义一个基本类型创建方法的方法
/*基本类型的原型是公共的结构,因此在添加时首先确定下没有此方法*/ Function.prototype.method = function(name,func){ if(!this.prototype[name]){ this.prototype[name] = func; } return this; }
1、array.concat(item...)
concat方法返回一个新的数组,它包括原有数组的元素并将1个活动多个参数item附加在其后如果参数item是一个数组,那么它的每一个元素会分别添加它可以添加一个数组也可以添加一个元素。
var a = ['first','second','three']; var item = '4'; var item2 = ['five','six']; var c = a.concat(item,item2); //alert("新数组长度:"+c.length+" 新数组数据: "+ c.join(","));
2、 array.join(separator)
join方法是把一个数组构造成一个字符串,并用separator为分隔符将它们串起来 默认的separator是','
var a = ['first','second','three']; alert(a.join());//默认分隔符为',' first,second,three alert(a.join(" "));
3、array.pop() array.push()
pop与push方法使数组想堆栈一样工作,后进先出,pop方法移除array中的最有一个元素并返回该元素,如果array是空的,那么返回undefined。push方法将一个或多个参数item附加到数组尾部,如果参数是一个数组,它会把添加数组当成一个元素,放到原有数组中 返回数组的长度。
var popOld = ['a','b','c']; var popItem = popOld.pop(); alert(popItem +' '+popOld.join());//popItem 为'c' popOld数组为['a','b'] var pushArray = ['a','b','c']; var pushArr = ['d','e','vvvv']; var pushItem = 'f'; var pushNewLength = pushArray.push(pushArr,pushItem); alert(pushNewLength+" "+pushArray.join(' '));
4、array.reverse 反转array中元素的顺序,并返回当前的array
var rArray =['a','b','c']; var nArray =rArray.reverse(); alert(nArray.join("")); //cba
5、array.shift 移除数组中的第一个元素并返回该元素,如果数组是空的,返回undefined,shift比pop速度慢
var a =['a','b','c']; var b =a.shift();//a是['b','c'] & c是'a' //shift方法可以这样实现 Array.method('shift',function(){ return this.splice(0,1)[0]; });
6、array.slice(start,end)浅复制start是开始下标,下标示从0开始 end参数可不填
var a =['a','b','c']; var aslice = a.slice(0, 2); //aslice是['a','b'] var aslice2 =a.slice(1); //aslice2是['b','c']
7、array.sort()排序 是把数组中的元素当成一个字符串,所以对于数字数组来说,不好使。
var n=[1,3,11,36,154,57,112]; n.sort();//[1,11,112,154,3,36,57] n.sort(function(a,b){ return a-b; });//[1,3,11,36,57,112,154]
8、array.splice(start,delCount,item)
从array数组中移除1个或多个元素 start为开始下标 ,delCount为删除元素个数,item为替代删除元素的新元素 返回删除的元素数组
var nsp=[1,3,11,36,154,57,112]; var delArr = nsp.splice(1, 2, "newElement"); //nsp为[1,"newElement",36,154,57,112] delArr为[3,11]
9、array.unshift(item)
像push方法一样,将元素添加到数组中,但它是把item插到array开始部分返回array的长度。
var a = ['a','b','c']; var l = a.unshift("d"); //a为['d','a','b','c']