プログラマーが日常的に TypeScript/JavaScript 開発を行う場合、複雑な JavaScript オブジェクトを JSON.stringify を通じて JSON 文字列にシリアル化し、その後の特定の分析のためにローカルに保存する必要があることがよくあります。 ただし、JavaScript オブジェクト自体に循環参照が含まれている場合、JSON.stringify は正しく動作せず、次のエラー メッセージが表示されます。
解決策は、この Web サイトの次のコードを使用してグローバル キャッシュ配列を定義することです。シリアル化される JavaScript オブジェクトのプロパティが走査されるたびに、プロパティに対応する値がキャッシュ配列に格納されます。 トラバーサル中にキャッシュ配列に属性値がすでに存在することが判明した場合、循環参照が検出されたことを意味します。この場合、単に return してループを終了することができます。 var キャッシュ = []; var str = JSON.stringify(o, 関数(キー, 値) { if (typeof 値 === 'object' && 値 !== null) { (cache.indexOf(値) !== -1)の場合{ // 削除 return; } // すべての値を収集します cache.push(value); } 戻り値; }); cache = null; // ガベージコレクションを容易にするために変数をクリアします この方法を使用して、循環参照を持つ JavaScript オブジェクトを文字列にシリアル化することに成功しました。 これで、JSON.stringify 使用時に発生する循環参照問題の解決方法についての記事は終了です。JSON.stringify 循環参照の詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Centos7.3 に mysql5.7.18 をインストールするための詳細なチュートリアル
>>: Linux カーネル デバイス ドライバー キャラクタ デバイス ドライバー ノート
導入:従来の画像検証コードと比較して、スライダー検証コードには次の利点があります。サーバーは検証コー...
この記事では、MySQL の sql_mode モードについて例を挙げて説明します。ご参考までに、詳...
<a href="" onclick=""> を...
この記事では、スクロールウィンドウを実装するためのJavaScriptの具体的なコードを参考までに紹...
ホーム ページに戻るための支払いカウントダウン ケースの概要: シンプルな js 構文、getEle...
Docker Hub公式サイト1. Pythonミラーを検索するdocker 検索 python 2...
まず、例を挙げてみましょう(読みたくない場合は、以下の要約だけ読んでください)。 order_typ...
操作効果 html <ヘッド> <メタ文字セット='UTF-8'&...
LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | grep ...
Git は vscode に統合されており、git コマンドをいくつか記述しなくても、クリックするだ...
1. 内部結合クエリの概要内部結合は、アプリケーションで非常に一般的な結合操作であり、通常はデフォ...
Google の Flutter の目標は、どのプラットフォームを使用していても、ネイティブの速度...
目次概要延長は必要ですか?スロットJavaScript ユーティリティ関数拡張コンポーネントの複数の...
1. 仮想ホストとは何ですか?仮想ホストは、特殊なテクノロジーを使用して、実行中のサーバーを論理的に...
序文決まり文句です。ここでは、フロントエンドとバックエンドの分離についての私の理解についてお話ししま...