JavaScript中的方法

这篇日志是读书笔记,来自JavaScript:The Good Parts 中的第八章。

Array

array.concat(item...)

concat方法返回一个新数组,包含array的浅复制并把一个或多个item附加到最后,如果参数是一个数组,那么它的每一个元素都会被分别添加。

var r = [0,1].concat([2,3],4);//r=[0,1,2,3,4];

 

array.join(separator)

join方法把数组构造成一个字符串。其中默认的separator为','。

 

array.pop()

pop和push方法使数组像stack那样工作。pop方法移除数组中最后的一个元素并返回该元素。如果该数组是空的,则返回undefined。

可以这样实现pop方法:

Array.method(“pop”,function(){

return this.splice(this.length-1,1)[0];

});

array.push(item...)

push方法将一个或者多个item附加到一个数组的尾部,该方法与concat不一样,它会修改该数组,如果其中一个item是数组,那么它会被作为一个元素添加到数组中。

var arr=new Array();
arr.push(0,1);
arr.push([2,3],4);//那么arr将会是[0,1,[2,3],4]

可以这样实现push方法:

Array.method(“push”,function(){

this.splice.apply(this,[this.length,0].concat(Array.prototype.slice.apply(arguments)));

return this.length;

});

array.shift()

可以这样实现shift方法:

Array.method(“shift”,function(){

return this.splice(0,1)[0];

});

array.unshift()

可以这样实现unshift方法:

Array.method(“unshift”,function(){

this.splice.apply(this,[0,0].concat(Array.prototype.slice.apply(arguments)));

return this.length;

});

posted @ 2011-04-25 23:11  陈锐达  阅读(535)  评论(0编辑  收藏  举报