ホームページ  >  記事  >  ウェブフロントエンド  >  再帰を使用してオブジェクト内のプロパティを匿名化する方法

再帰を使用してオブジェクト内のプロパティを匿名化する方法

DDD
DDDオリジナル
2024-10-02 06:16:30623ブラウズ

How to anonymize properties in an object using recursion

最近、API で入出力データのログを処理する必要がありました。ただし、問題が発生しました。一部のプロパティには、ログに表示できない機密データが含まれていました。単純なオブジェクトを扱う場合はこれを簡単に処理できますが、複数のレベルを持つネストされたオブジェクトを扱う場合は、状況がより複雑になります。ここで再帰が登場します。再帰を使用すると、これを線形時間 O(n) で効率的に処理できます。コードは次のとおりです:

const sensitiveFields = ['password', 'email', 'userCode'];

function handleSensitivesFields(data) {
  if (typeof data !== 'object' || data === null) {
    return data;
  }

  for (const key in data) {
    if (sensitiveFields.includes(key)) {
      const value = data[key];

      if (typeof value === 'string') data[key] = createMask(value.length);
    }

    if (typeof data[key] === 'object') handleSensitivesFields(data[key]);
  }
}

以上が再帰を使用してオブジェクト内のプロパティを匿名化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。