previous iteration in foreach

Good afternoon,

I am trying to compare in a foreach loop a data with the previous iteration, but I am not able to access this iteration, is there any way?

I need to sort a list, but if there are two equal values ​​they have the same order,
with the array
{
name:"aaaaa", valor:2
name:"bbbbb", valor:10
name:"ccccc", valor:10
name:"ddddd", valor:10
name:"eeeee", valor:45
}
get as a result
{
name:"aaaaa", pos:1
name:"bbbbb", pos:2
name:"ccccc", pos:2
name:"ddddd", pos:2
name:"eeeee", pos:3
}

I am trying to save the pos outside of the foreach in a local variable, or recover the value saved in pos of the previous item

Thank you very much

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Associate Developer

    Not sure about the exact requirements. The following code snippet might be helpful:

    a!localVariables(
      local!data: {"A","B","C","D"},
      a!forEach(
        items: local!data,
        expression: a!localVariables(
          local!previousData: if(not(fv!isFirst), index(local!data, fv!index-1), null),
          a!map(data:fv!item, previous: local!previousData)
        )
      )
    )

  • I need to sort a list, but if there are two equal values ​​they have the same order,
    with the array
    {
    name:"aaaaa", valor:2
    name:"bbbbb", valor:10
    name:"ccccc", valor:10
    name:"ddddd", valor:10
    name:"eeeee", valor:45
    }
    get as a result
    {
    name:"aaaaa", pos:1
    name:"bbbbb", pos:2
    name:"ccccc", pos:2
    name:"ddddd", pos:2
    name:"eeeee", pos:3
    }

    I am trying to save the pos outside of the foreach in a local variable, or recover the value saved in pos of the previous item

Reply
  • I need to sort a list, but if there are two equal values ​​they have the same order,
    with the array
    {
    name:"aaaaa", valor:2
    name:"bbbbb", valor:10
    name:"ccccc", valor:10
    name:"ddddd", valor:10
    name:"eeeee", valor:45
    }
    get as a result
    {
    name:"aaaaa", pos:1
    name:"bbbbb", pos:2
    name:"ccccc", pos:2
    name:"ddddd", pos:2
    name:"eeeee", pos:3
    }

    I am trying to save the pos outside of the foreach in a local variable, or recover the value saved in pos of the previous item

Children