我需要掩盖一些动态的字段。这就是我现在正在使用的:
var data = { a: 1, b: 2, c: 3, d: 4, e: 5 }
var mask = { a: " ", d: "0"}
---
data mapObject ((value, key, index) ->
(key): mask[key] default value
)
我得到了预期的输出
{"a": " ","b": 2,"c": 3,"d": "0","e": 5}
是否可以为此使用mask
或update
函数?另外,如果您知道哪个是性能最高的解决方案,我真的很想知道,因此我需要使用它来处理70MM记录。
答案 0 :(得分:0)
当您要有条件地选择嵌套键,然后仅根据某些条件更新那些匹配的键大小写时,更新运算符会更有用。如果对象是简单的平面架构,则解决方案中的mapObject就是O(N)。如果顺序无关紧要,并且键是唯一使用的,则是另一个选项-和++。
var data = { a: 1, b: 2, c: 3, d: 4, e: 5, a:5, d:"something" }
var mask = { a: " ", d: "0"}
---
data -- keysOf(mask) ++ mask
这将产生输出:
{
"b": 2,
"c": 3,
"e": 5,
"a": " ",
"d": "0"
}