最近,我需要在 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]); }}
登录后复制
以上就是如何使用递归匿名化对象中的属性的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2667714.html