Arrays 从dataweave中的列表/数组中获取值的索引

Arrays 从dataweave中的列表/数组中获取值的索引,arrays,mule,mule-studio,dataweave,anypoint-studio,Arrays,Mule,Mule Studio,Dataweave,Anypoint Studio,我在dataweave中有一个数组 [value1,value2,value3,value4] 我想获取数组中我的值的索引。假设我想知道“value2”出现在哪个索引位置,它应该返回2 **code I tried:** %dw 1.0 %output application/xml %var myArray =[] as :array --- { root: using (myArray = payload.values.*value distinctBy $) { (payload

我在dataweave中有一个数组

[value1,value2,value3,value4] 
我想获取数组中我的值的索引。假设我想知道“value2”出现在哪个索引位置,它应该返回2

**code I tried:**

%dw 1.0
%output application/xml
%var myArray =[] as :array
---
{
 root: using (myArray = payload.values.*value distinctBy $) {
 (payload.values.*value map{
    position: "needs logic to get position of current value in the myArray created"
  })
}


**input:**
<values>
  <value>value1</value>
  <value>value2</value>
  <value>value3</value>
  <value>value4</value>
  <value>value1</value>
  <value>value3</value>
</values>


expected output:
  <root>
    <position>1<position>
    <position>2<position>
    <position>3<position>
    <position>4<position>
    <position>1<position>
    <position>3<position>
  <root>
**我试过的代码:**
%dw 1.0
%输出应用程序/xml
%var myArray=[]作为:数组
---
{
root:使用(myArray=payload.values.*value distinctBy$){
(有效载荷。值。*值映射{
位置:“需要逻辑来获取所创建myArray中当前值的位置”
})
}
**输入:**
价值1
价值2
价值3
价值4
价值1
价值3
预期产出:
1.
2.
3.
4.
1.
3.
关于:

%dw 1.0
%output application/xml
%var myArray =[] as :array
---
{
 root: using (myArray = payload.values.*value distinctBy $) {
    (payload.values.*value map (
        position: $$
    )) }
}
这将产生:

<?xml version='1.0' encoding='UTF-8'?>
<root>
  <position>0</position>
  <position>1</position>
  <position>2</position>
  <position>3</position>
  <position>4</position>
  <position>5</position>
</root>

0
1.
2.
3.
4.
5.

您好,最好显示您的输入内容以及您希望输出内容。这有助于了解全局并找到合适的解决方案。抱歉,我之前的问题不清楚……问题中显示的输出是预期的输出。但您的输出看起来不像是数组索引?是的……是arrayindex+1是否需要该值