The venerable Array Size function should just resize itself for the number of dimensions on the input array and have each dimension's size emitted with a separate scalar output.
Well I'm sure they would need the old one around for compatibility. I myself can't remember a single time when I glad to get the array sizes out as an array.
No, an array of dimensions is often useful, e.g. to get the total number of elements in a multidimensional array, you would apply a "multiply array element" to the array.
If you get each dimension individually, you need to rewrite the code whenever you want to change the number of dimensions.
But if you change from 1D to 2D you still need to change your code. It's only if your code changes from 2D to 3D or higher that the size-as-array would 'help'. If you're frequenly changing your diagrams between 3D and 4D arrays, then you've got other problems.
I would prefer to have a resizable Array Size function accompanied by the resizable Multiply (compound arithmetic) function, and have the diagram break if I were to change dimensions (like it does now between 1D and 2D). And I'm sure they would have to keep the old one around for compatibility anyway.
Other common uses that are much easier with array output are "array size - 1", or for evenly sub-sampling an array where you might divide the size by the scaling factor (I've done both of those!). Looking through my reuse VIs, there's a fairly even split between using it as an array and as scalars - if the output was optional, then it could be an array even for 1D which would be consistent at least.
When I read this I was thinking of an Array Dimension function. I can't remember why or when I wish this function existed, but I do remember requiring that information during my LabVIEW travels. The solution was simple by taking an array size of array size.
(I can never find the add attachments in the Ideas Exchange forum 😞 ) found it.. in the edit mode.
Something I discovered a while back is that you can use the Matrix Size function to get the size of a 2D array of any data type without needing the extra Index Array to pull out the number of rows/number of columns separately.
jdunham, great idea on the resizeable funtion. The default, when sized to only one output, would be the array like it is now, and could take any sized input. When sized to two outputs, the input must be a 2D array, and the outputs are scalars. When sized to three outputs, the input must be a 3D array, with three output scalars, etc.