[解決済み] 新しい配列を作成せずに、既存のJavaScript配列を別の配列で拡張する方法
2022-03-21 20:48:12
質問
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
).
<サブ 注 これは とは重複しません。 配列に何かを追加するには? -- ここでの目標は、一方の配列の内容全体を他方の配列に追加することであり、それを"in place"、すなわち拡張配列のすべての要素をコピーすることなく行うことです。
解決方法は?
その
.push
メソッドは複数の引数を取ることができます。この場合
スプレッド演算子
に渡すことで、2 番目の配列のすべての要素を引数として渡すことができます。
.push
:
>>> a.push(...b)
ブラウザがECMAScript 6に対応していない場合は
.apply
の代わりに
>>> a.push.apply(a, b)
あるいは、もっとわかりやすいと思うのであれば
>>> Array.prototype.push.apply(a,b)
これらの解決策はすべて、もし配列
b
が長すぎる(ブラウザによって異なりますが、10万要素程度でトラブルが発生します)。
を保証できない場合
b
が十分に短い場合は、他の回答で説明されている標準的なループベースのテクニックを使用する必要があります。
関連
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] JavaScriptでカンマを桁区切りにして数値を表示する方法
-
[解決済み] JavaScriptで配列を空にするにはどうしたらいいですか?
-
[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
-
[解決済み] JavaScriptで変数が配列であるかどうかを確認する方法は?
-
[解決済み] JavaScriptの配列をランダム化(シャッフル)する方法は?
-
[解決済み] JavaScriptで2次元の配列を作成するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
fetch ネットワークリクエストラッパーの説明例
-
Vue Element-uiは、アイコンを追加するためのツリーコントロールノードを詳細に実装しています。
-
Vueのイベント処理とイベントモディファイアの解説
-
Vueの「データを聴く」原則を解説
-
[解決済み】React - uncaught TypeError: 未定義のプロパティ 'setState' を読み取れない
-
[解決済み] テスト
-
[解決済み】リソースの読み込みに失敗した:Bind関数でサーバーが500(Internal Server Error)のステータスで応答した【非公開
-
[解決済み】GETできない / Nodejsエラー
-
[解決済み】React Nativeアプリをターミナルから実行するとエラーが発生する(iOS)
-
[解決済み】「.addEventListener is not a function」なぜこのエラーが発生するのか?