Hi!
Let's assume inside your Apply to Each you store the distance calculated in each iteration inside a variable called 'currentIterationDistance' of type float, that will represent the distance in miles, or whatever metric you need
Now some more questions...
Is your goal to have an array of arrays, being each of its elements as the one in the following example
['Portsmouth HWRC','Paulsgrove Portway','PO6 4UD','1.6']
Or... is it OK to have a single element as result- the closest one-?
If you can afford a free format and you just need a single element , I would suggest to:
-Initialize variable, let's call it myOutputSite, type object, value
json('{}')
-Initialize variable, let's call it closestDistance, type float, value 10000.00 (in miles, or whatever metric you need)
Then inside your Apply to Each, I would add a Condition to evaluate if distance calculated in current iteration is less than the one stored in variable closestDistance, now leave false branch empty, and on the true branch:
-set variable, name closetsDistance, assign as its value the following expression
variables('currentIterationDistance')
-set variable, name myOutputSite, assign as its value the following expression
setProperty(setProperty(json('{}'),'Address',item()),'distance',variables('currentIterationDistance'))
But... if you need as output the array with all Sites, and the calculated instance for all of them, you can add also the following:
-add before the 'Apply to Each' an Initialize variable action block, name myOutputSitesArray, value
[]
-add inside 'Apply to Each' just before but out of the suggested Condition, an 'Append to Array' action block, assign as its value the following expression
setProperty(setProperty(json('{}'),'Address',item()),'distance',variables('currentIterationDistance'))
Hope this helps