2

次のように、配列の複製をそれ自体に連結する複製メソッドを js Array プロトタイプに実装しようとしています。

[11,22,3,34,5,26,7,8,9].duplicate(); // [11,22,3,34,5,26,7,8,9,11,22,3,34,5,26,7,8,9]

これが私が持っているものですが、ブラウザがクラッシュする原因になります:

var array = [11,22,3,34,5,26,7,8,9];

Array.prototype.duplicate = function() {

  var j = this.length;

  for(var i = 0; i < this.length; i++) {
    this[j] = this[i];
    j++;
  }

  return this;
}

反復とアルゴリズムの練習としてネイティブ JS を使用してこれを実行しようとしているので、可能であれば組み込みメソッドを避けて、物事がどのように移動しているかをより明確に理解できるようにしています。

クラッシュする理由と最適化方法についてのアイデアはありますか?

4

4 に答える 4