最近、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 サイトの他の関連記事を参照してください。