JavaScript-模仿实现js中自带的push功能

JavaScript-模仿实现js中自带的push功能

瑾兮 发布于 2017-09-16 字数 218 浏览 1061 回复 2

js写一段代码,实现和数组push一样功能?
例如:

if(!Array.prototype.opush){
Array.prototype.opush = function(){
//这个函数体怎么写
}
}

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜柠檬 2017-10-23 2 楼

我也写了一个,大家测试一下:

Array.prototype.opush = function(item) {
    this[this.length] = item;
    return this;
};

var a = [1,2,3,4,5];
var b = [23,45,67];
alert(a.opush(b));
alert(a);

刚才又仔细看了一下问题,原来我上面答案多了个参数item,如果不要参数可以修改一下代码如下:

Array.prototype.opush = function() {
    this[this.length] = Array.prototype.slice.apply(arguments);
    return this;
};

var a = [1,2,3,4,5];
var b = [23,45,67];
alert(a.opush(b));
alert(a);
归属感 2017-10-08 1 楼

自己写了一个答案:

Array.prototype.opush = function(){
//alert(this.concat(Array.prototype.slice.apply(arguments)));
this.splice.apply(
this,
[this.length,0].
concat(Array.prototype.slice.apply(arguments)));
return this.length;
};
var a = [1,2,3,4,5];
var b = [23,45,67];
alert(a.opush(b));
alert(a);

还有什么好的方法?