Vor kurzem musste ich die Protokollierung von Eingabe- und Ausgabedaten in meiner API verwalten. Allerdings bin ich auf ein Problem gestoßen: Einige Eigenschaften enthielten vertrauliche Daten, die nicht in den Protokollen angezeigt werden konnten. Bei einem einfachen Objekt ist dies einfach zu handhaben, bei einem verschachtelten Objekt mit mehreren Ebenen werden die Dinge jedoch komplexer. Hier kommt die Rekursion ins Spiel. Mithilfe der Rekursion ist es möglich, dies in linearer Zeit O(n) effizient zu handhaben. Hier ist der Code:
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]); } }
Das obige ist der detaillierte Inhalt vonSo anonymisieren Sie Eigenschaften in einem Objekt mithilfe der Rekursion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!