Values from Mesh Array Metadata

Hello everyone,

In the PG below, I’m attempting to retrieve the highest metadata value from an array of meshes. I researched JavaScript tutorials, and this seems relatively easy for a standard array using Math.max(array). However, it doesn’t seem to work in this PG :thinking: Clicking on a mesh returns the sphere’s metadata “value,” and that doesn’t always match what Math.max returns.

Math.max takes two or more parameters and returns the maximum of the values.

In your PG, you pass a single parameter, so it will always return this value.

I have updated your PG:


In this line

var mostValue = Math.max(sphereArray[i].metadata.value.toFixed(0));

Math.max is not being fed an array, it is only being fed a single value which is of course its own max value.

You could use

var mostValue = -Infinity;
for (var i = 0; i < sphereArray.length; i++)  {
        mostValue = Math.max(sphereArray[i].metadata.value.toFixed(0), mostValue);  
text2.text = mostValue.toString();


var mostValue = Math.max( => entry.value.toFixed(0));
text2.text = mostValue.toString();

Have rearranged your GUI so it is viewable

See spread operatorfor the use of …

I see @Evgeni_Popov beat me to it while I was doing the PG :slightly_smiling_face:


Thanks @JohnK and @Evgeni_Popov for the explanations and the PG corrections, I really appreciate it.

I see now that a range has to be set.

Thanks again! :smiley: :+1: