[解決済み] JavaScriptのオブジェクトを参照ではなく、新しい変数にコピーするには?[重複している]
2022-04-20 03:17:58
質問
簡単なjsfiddleを書きました こちら ここで、小さなJSONオブジェクトを新しい変数に渡し、元の変数(新しい変数ではない)のデータを修正しますが、新しい変数のデータも同様に更新されます。これは、JSONオブジェクトが参照渡しされたことを意味するのではないでしょうか?
以下は私の簡単なコードです。
var json_original = {one:'one', two:'two'}
var json_new = json_original;
console.log(json_original); //one, two
console.log(json_new); //one, two
json_original.one = 'two';
json_original.two = 'one';
console.log(json_original); //two, one
console.log(json_new); //two, one
JSONオブジェクトのディープコピーを作成して、元の変数を変更しても、新しい変数が変更されないようにする方法はありますか?
どのように解決するのですか?
jQueryを使わず、クローンにしか興味がない場合は、次のようにするとうまくいくことがわかりました。 単純なオブジェクト (コメント参照)。
JSON.parse(JSON.stringify(json_original));
ドキュメンテーション
関連
-
WeChatアプレット用ユニアプリによるグローバルシェアリング
-
[解決済み】React Uncaught Error: 対象コンテナが DOM 要素でない [重複]。
-
JavaScriptのStringに関する共通メソッド
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトにキーが存在するかどうかをチェックする?
-
[解決済み】JavaScriptのオブジェクトの長さ
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
vue3レスポンシブ対応のためのsetup+ref+reactive
-
親子コンポーネント通信を解決する3つのVueスロット
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
vueはopenlayersを使用してスカイマップとガオードマップをロードする
-
vueディレクティブv-bindの使用と注意点
-
vueが定義するプライベートフィルタと基本的な使い方
-
[解決済み] テスト
-
[解決済み】awaitは非同期関数でのみ有効です。
-
[解決済み】リクエストに失敗していないのに、「TypeError: failed to fetch」が表示される。
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?