[解決済み】N個の配列を連結する最も効率的な方法は何ですか?
2022-03-28 13:23:53
質問
JavaScript でオブジェクトの N 個の配列を連結する最も効率的な方法は何ですか?
配列は変更可能であり、結果は入力配列のいずれかに格納できます。
どのように解決するの?
2つ以上の配列を連結している場合。
concat()
は、利便性とパフォーマンスの観点から、この方法を選択します。
var a = [1, 2], b = ["x", "y"], c = [true, false];
var d = a.concat(b, c);
console.log(d); // [1, 2, "x", "y", true, false];
2つの配列だけを連結する場合は
push
は、配列に追加する要素からなる複数の引数を受け取りますが、これを代わりに使って、新しい配列を作成せずに、ある配列から別の配列の末尾に要素を追加することができます。この場合
slice()
の代わりに使用することもできます。
concat()
しかし
この方法によるパフォーマンス上の利点はないように思われます。
.
var a = [1, 2], b = ["x", "y"];
a.push.apply(a, b);
console.log(a); // [1, 2, "x", "y"];
ECMAScript 2015以降では、さらに次のように縮小することができます。
a.push(...b)
しかし、大きな配列(10万メンバー以上のオーダー)の場合、配列の要素を
push
(を使用する)。
apply()
またはECMAScript 2015のspread演算子)で失敗する可能性があります。このような配列の場合、ループを使用する方が良い方法です。参照
https://stackoverflow.com/a/17368101/96100
をご覧ください。
関連
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み】JavaScriptのボタンonclickが機能しない
-
[解決済み] Uncaught (in promise) TypeError: フェッチに失敗してCorsエラー
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] GUID / UUIDの作成方法
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] React with ES7: Uncaught TypeError: Cannot read property 'state' of undefined [duplicate] (未定義のプロパティ'state'を読み込むことはできません。
-
[解決済み】getElementByIdはnullを返す?[クローズド]
-
[解決済み】npm install --legacy-peer-deps は具体的に何をするのですか?どんなときに推奨されるのか/どんな使用例が考えられるのか?
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】TypeError: AngularJSで未定義のプロパティ'get'を読み取れない
-
[解決済み】Uncaught TypeError: 未定義のプロパティ 'msie' を読み取れない - jQuery tools
-
[解決済み】JavaScriptで関数が存在するかどうかを確認する方法は?
-
[解決済み] 配列の結合/平坦化
-
[解決済み] 新しい配列を作成せずに、既存のJavaScript配列を別の配列で拡張する方法
-
[解決済み] 複数の要素を配列にプッシュする