최근 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!