[解決済み】(深い)jQueryで配列をコピーする【重複
2022-04-04 23:18:10
質問
重複の可能性があります。
JavaScriptのオブジェクトをクローンする最も効率的な方法は何ですか?
オブジェクトの(順序付き、連想でない)配列をコピーする必要があります。私はjQueryを使用しています。私は最初、以下を試しました。
jquery.extend({}, myArray)
しかし当然ながら、これでは配列が必要なところをオブジェクトで返してしまいます (ちなみに jquery.extend は本当に大好きです)。
では、配列をコピーするのに最適な方法は何でしょうか?
どのように解決するのですか?
Array.slice()は深いコピーを行わないので、多次元配列には適しません。
var a =[[1], [2], [3]];
var b = a.slice();
b.shift().shift();
// a is now [[], [2], [3]]
なお、ここでは
shift().shift()
上記、ポイントはあくまで
b[0][0]
へのポインタが含まれています。
a[0][0]
は値ではなく
同様に
delete(b[0][0])
も引き起こす。
a[0][0]
が削除され
b[0][0]=99
の値も変更します。
a[0][0]
を99にする。
jQueryの
extend
メソッド
が行います。
は、初期引数として真の値が渡された場合、ディープコピーを実行します。
var a =[[1], [2], [3]];
var b = $.extend(true, [], a);
b.shift().shift();
// a is still [[1], [2], [3]]
関連
-
[解決済み] 解決済み】clearInterval()が動作しない [重複] [重複]
-
[解決済み】'useState' が定義されていない no-undef React
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
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 Js: Uncaught (in promise) SyntaxError: 位置 0 の JSON で予期しないトークン < が発生しました。
-
[解決済み】フォームコントロールの値アクセサがない
-
[解決済み】webpack-dev-serverにリモート接続すると、「Invalid Host header」というメッセージが表示されます。
-
[解決済み】JavaScript "Uncaught TypeError: object is not a function" 連想性の質問
-
[解決済み] エラー。モジュールhtmlが見つからない
-
[解決済み] ローカルファイルを開くことができません - Chrome: ローカルリソースのロードが許可されていません
-
[解決済み】PhantomJS 2.1.1を使用してReactJSアプリケーションをレンダリングできない理由とは?
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。
-
[解決済み】Vueが定義されていない
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?