【问题标题】:how to check if any one element of a variable length String array is present in another variable length string array如何检查可变长度字符串数组的任何一个元素是否存在于另一个可变长度字符串数组中
【发布时间】:2021-04-26 13:34:43
【问题描述】:
inputArray = ["cat", "bat", "mat"]  
configuredArray = ["dog", "elephant", "fox", "cat"]

inputArrayconfiguredArray 是可变长度字符串数组。

如果inputArray 的任何一个元素出现在configuredArray 中,我想设置一个bloolean 标志。 怎么写到Dataweave 2.0?提前致谢。

【问题讨论】:

    标签: dataweave mule4


    【解决方案1】:

    您可以利用filtercontains 函数并执行类似的操作。还为您提供了可重用的功能。

    %dw 2.0
    output application/json
    
    fun any(left: Array, right: Array) =
        sizeOf(left filter (right contains $)) > 0
    
    ---
    ["cat", "bat", "mat"] any ["dog", "elephant", "fox", "cat"]
    

    【讨论】:

    • 使用二元函数作为运算符的额外点。
    • 伟大而简洁的解决方案
    • 请记住,此方法没有短路逻辑,因此对于特别大的有效负载,这不会是最快的。
    【解决方案2】:
    %dw 2.0
    output application/json
    var arr1 = ["cat", "bat", "mat"]
    var arr2 = ["dog", "elephant", "fox", "cat"]
    
    ---
    sizeOf(arr1 reduce (item, acc = []) -> if (arr2 contains item) acc + item else acc) >0
    

    【讨论】:

      猜你喜欢
      • 2012-05-28
      • 2018-08-04
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      • 1970-01-01
      相关资源
      最近更新 更多