union(split(replace(replace(replace(string(variables('array')),'"',''),'[',''),']',''),','),split(replace(replace(replace(string(variables('array')),'"',''),'[',''),']',''),','))
I'm using an array variable named "array" in my example expression, so you'll need to change that reference to your input array.
Here it is again as a multiline snippet:
union(
split(
replace(
replace(
replace(
string(
variables('array')
),
'"',
''
),
'[',
''
),
']',
''
),
','
),
split(
replace(
replace(
replace(
string(
variables('array')
),
'"',
''
),
'[',
''
),
']',
''
),
','
)
)
Let's break it down. First, we need to convert the whole array to a string, then we have to remove (via the replace() function) the extra characters that the old array left behind. Then we split it back into an array of 3 string values, and use union() to remove duplicates from itself. If you need these to be numeric values, wrap the reference to them in the int() function when you go to use them.