最初の方法はよく知られているconcatですが、この方法は既存の配列を変更しないが、接続された配列のコピーのみを返すというこの方法には確実性があります。
新しい配列の要素を既存のアレイに追加するだけである場合は、実際にリソースの無駄があることもあります。簡単には、新しく作成された配列の新しいメモリスペースを新しいメモリアドレスに割り当てる必要があります。
次の例に示すように:
コードコピーは次のとおりです。
var arr1 = [1,2,3];
var arr1 = arr1.concat([4,5]);
それで、このリソースの消費を避けるための良い方法はありますか?
ここでは、JavaScriptのネイティブApplyメソッドを使用して、最初に次のコードをご覧ください。
コードコピーは次のとおりです。
var arr1 = [1,2,3];
arr1.push.apply(arr1、[4,5]);
これは、適用方法の特性を巧みに使用します(2番目のパラメーターは複数の配列タイプです)。アレイは実際には同等です
コードコピーは次のとおりです。
arr1.push(4,5);
このようにして、ARR1は依然として同じARR1ですが、リダイレクトまたは不必要なメモリオーバーフローなしで、メモリは書き直されています。