gpt4 book ai didi

JavaScript 数组原型(prototype), 'this' 没有 'push' 方法

转载 作者:行者123 更新时间:2023-11-30 09:45:37 25 4
gpt4 key购买 nike

<分区>

我试过这个:

// You can pass an array on the addArr method, and each element from the 
// passed array is pushed to the array on which addArr was called.
Array.prototype.addArr = function( arr ){
console.log( this );

// As `this` is the array, we use this.push to insert arr's elements
arr.forEach(function(elm){
this.push( elm );
});

// And then finally return this.
return this;
};

代码已使用注释进行了解释,但让我直截了当。我正在尝试在名为 addArrArray 对象上创建一个新方法,它可以将数组 [1, 2, 3] 传递给方法并将每个元素添加到调用该方法的数组中。

例如

var myArr = [1, 2, 3];
myArr.addArr( [4, 5, 6] );
// The output is supposed to be [1, 2, 3, 4, 5, 6]

我收到 Uncaught TypeError: this.push is not a function,我试过调试,这总是返回父数组,但它说 push 不是一个功能。

我该如何解决?我可以为这些使用像 Lodash 这样的库,但我不喜欢这么小的应用程序。

谢谢!

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com