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;
});