私はこれを試してみました。私はaddArr
と呼ばれるオブジェクト上に新しいメソッドを作成しようとしています。このメソッドはメソッド[1, 2, 3]
を渡すことができ、各要素はメソッドが呼び出された配列に追加されます。例えばJavaScriptの配列プロトタイプ、「この」「プッシュ」を持っていない方法は
Uncaught TypeError: this.push is not a function
取得しています
var myArr = [1, 2, 3];
myArr.addArr([4, 5, 6]);
// The output is supposed to be [1, 2, 3, 4, 5, 6]
については
は、私はこれは常に、まだ親配列を返すことはpush
が関数ではないことを言って、デバッグを試してみました。
どうすれば解決できますか?私はこれらのためにLodashのようなライブラリを使うことができましたが、私はそのような小さなアプリケーションのために好むわけではありません。
ありがとうございます!
「this」は各機能に固有です。 'forEach(function()...)'は 'this'のための独自の値を持つ新しい関数です... – deceze
' .forEach() 'メソッドはコールバックを呼び出す際に' this'を配列に設定しません。あなたは 'arr.forEach(function(){arr}')でそうすることができます。また、コールバックが反復処理している同じ配列に新しい要素を追加することは実際には意味がありません。 – nnnnnn
ああ私はとても愚かだと感じる!それに気付かなかった。大変ありがとうございます。 –