【发布时间】:2018-04-18 19:40:06
【问题描述】:
我想在所有对象级别更新对象的所有密码值:
let obj = {
user: {
name: 'u1',
password: 'do not show me'
},
subUsers: [
{
name: 'u2',
password: 'do not show me as well'
}
],
whereverLevel : {
password: 'please, hide me too'
}
}
updateDeeply(obj, 'password', '********') //mutates obj and changes all password values in all object levels.
有没有类似lodash _.set(...)的API方法?
【问题讨论】:
-
你试过什么?递归搜索将是微不足道的。
-
我在找lodash之类的api,没找到
-
这几乎肯定是矫枉过正。这实际上只是对每个键/值对的迭代,递归到作为映射的每个 val,并替换任何具有“密码”键的 val。我认为您需要缩小这个问题的范围,因为它现在非常广泛。
-
为什么你还要用纯英文的密码呢?你应该加密它们,然后这个问题似乎没有意义。
-
如果绝对需要,您可以尝试将 obj 转换为 json 字符串,执行 'password:' 的正则表达式,然后这样做,但加密密码似乎是真正的答案。
标签: javascript node.js object