This one is convoluted and you don't have that much control but it's procedural.
Create a triangle and add your array modifier(s).
Select the object you want to be arrayed, parent it to your triangles with CTRL + P or Object > Parent > Object (The triangles must be the parent object, not the other way around)
Select the triangle, go into the object properties and select instancing on faces. Uncheck "Show instancer" so you get only your desired objects. Check "Scale by face size", important for later.
Now you can't select your objects in the 3D viewport but you can still select them in the outliner.
Add a displace modifier, and a new texture. Set the direction to X (or Y) and click on that button to modify the texture :
Set it to clouds, and go back to the modifiers. Increase the displace strength to get a random scale.
Add another displace modifier, and another texture. This time set it to "RGB to XYZ". Change the new texture to "Clouds" and the color from "Grayscale" to "Color".
Go back to the modifiers and change the displace strength to get kinda random location and rotation :
Result with an array along Z and a shader :