如何解决是否可以在依赖于动态数据的条件下使用Dataweave掩码或更新功能?
我需要掩盖一些动态的字段。这就是我现在正在使用的:
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记录。
解决方法
当您要有条件地选择嵌套键,然后仅根据某些条件更新那些匹配的键大小写时,更新运算符会更有用。如果对象是简单的平面架构,则解决方案中的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"
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。