filterArrayLeafs

filterArrayLeafs(value: Any, criteria: (value: Any, path: Path) -> Boolean): Any

絞り込み式を配列のリーフまたは ​Path​ 値に適用します。

配列のリーフ値は ​SimpleType​ 値または ​Null​ 値である必要があります。型の説明については、 「Core 型」​を参照してください。

DataWeave バージョン 2.4.0 で導入されました。

パラメーター

名前 説明

value

Any​ 型の入力値。

criteria

入力 ​value​ のすべての配列の ​SimpleType​ または ​Null​ リーフ値に適用する Boolean (ブール) 式。結果が ​true​ の場合、配列ではリーフ値が保持されます。それ以外の場合、この関数により、リーフ値が出力から削除されます。

次の例では、さまざまな入力での ​filterArrayLeafs​ の動作を示します。

ソース

%dw 2.0
import * from dw::util::Tree
var myArray = [1, {name: ["", true], test: 213}, "123", null]
output application/json
---
{
   a: myArray filterArrayLeafs ((value, path) ->
        !(value is Null or value is String)),
   b:  myArray filterArrayLeafs ((value, path) ->
        (value is Null or value == 1)),
   c: { a : [1,2] } filterArrayLeafs ((value, path) ->
        (value is Null or value == 1)),
   d: myArray filterArrayLeafs ((value, path) ->
        !isArrayType(path))
}

出力

{
  "a": [
    1,
    {
      "name": [
        true
      ],
      "test": 213
    }
  ],
  "b": [
    1,
    {
      "name": [

      ],
      "test": 213
    },
    null
  ],
  "c": {
    "a": [
     1
    ]
  },
  "d": [
    {
      "name": [

      ],
      "test": 213
    }
  ]
}