Skip to main content

Hi All, I need to sort the "details" in the order of var order.

 

var order=["movement","pleats","gallery","planes"]

input:

details: [

 {

  "document": "planes",

  "total_paginas": 1

 },

 {

  "document": "pleats",

  "total_paginas": 3

 },

 {

  "document": "movement",

  "total_paginas": 5

 },

 {"document": "gallery",

  "total_paginas": 6

 }

]

 

expected output:

details: [

{

  "document": "movement",

  "total_paginas": 5

 },

{

  "document": "pleats",

  "total_paginas": 3

  },

 {"document": "gallery",

  "total_paginas": 6

 },

{

  "document": "planes",

  "total_paginas": 1

 }

]

6 answers
  1. Jan 24, 2022, 8:28 PM

    %dw 2.0

    import * from dw::core::Arrays

    output application/json

    var payload = {

    "details": [

    {

    "document": "planes",

    "total_paginas": 1

    },

    {

    "document": "pleats",

    "total_paginas": 3

    },

    {

    "document": "movement",

    "total_paginas": 5

    },

    {

    "document": "gallery_k",

    "total_paginas": 6

    },

    {

    "document": "gallery",

    "total_paginas": 6

    }

    ]

    }

    var order=["movement","pleats","gallery","planes"]

    var result = []

    ---

    details:

    payload.details

    orderBy (detail) ->

    order indexWhere (ord) ->

    detail.document startsWith ord

0/9000