既存のJavaScript配列を別の配列で拡張する方法、つまりPythonのextend
メソッドをエミュレートする方法はないようです。
以下を達成したい:
>>> a = [1, 2]
[1, 2]
>>> b = [3, 4, 5]
[3, 4, 5]
>>> SOMETHING HERE
>>> a
[1, 2, 3, 4, 5]
a.concat(b)
メソッドがあることは知っていますが、最初の配列を単純に拡張するのではなく、新しい配列を作成します。a
が大幅に大きい場合b
(つまり、コピーしない場合)に効率的に機能するアルゴリズムが必要a
です。
注:これは配列に何かを追加する方法の複製ではありませんか?-ここでの目的は、1つの配列の内容全体を他の配列に追加し、「その場で」、つまり拡張配列のすべての要素をコピーせずに追加することです。
a.push(...b)
。概念的にはトップアンサーと似ていますが、ES6用に更新されています。