プログラマーが日常的に 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 カーネル デバイス ドライバー キャラクタ デバイス ドライバー ノート
Nginx の書き換え機能は、リダイレクトと同様に、URL アドレスを一時的または永続的に新しい場所...
この記事では、スライドタブを実装するためのjQueryの具体的なコードを参考までに紹介します。具体的...
この記事の例では、ページング機能を実装するためのVueの具体的なコードを参考までに共有しています。具...
以下のデモはMySQLバージョン5.7.27に基づいています。 1. MySQLサブクエリ最適化戦略...
この記事の例では、Vue がデジタル 3 桁区切り形式をグローバルに実装するための具体的なコードを参...
この記事では、jQueryツリービューツリー構造のアプリケーションコードを例として紹介します。具体的...
最初のステップはmysqlコンテナを作成することです docker exec -it コンテナID ...
伝統的な方法は、正方形を固定形式で書くことです。長さ=幅を直接書き、次のように固定値を書きます。 。...
この記事では、アコーディオン効果を実現するためのjsの具体的なコードを参考までに共有します。具体的な...
システム トレイ アイコンは、今日でも魔法のような機能です。アイコンを右クリックして目的のアクション...
この記事では、参考までに、ビデオアップロード機能を実現するためのVueの具体的なコードを紹介します。...
システム:セントOS7 RPM パッケージ: mysql-コミュニティクライアント-5.7.18-1...
以前は、Web ページのプリンタ対応バージョンを作成するには、印刷したときに見栄えがよくなるようにレ...
最近、絵文字にコメントする機能が必要なコメント機能に取り組んでいたため、 contentEditab...
インストールスクリプトUbuntu / CentOS Debian のインストールに問題があるようで...