Currently, The Vanilla Array sorting is 1D mode, for 2D arrays it breaks their relationship. For some configuration sheet this does not apply.
Therefore, when we sort, we should randomly get their order index, and then move the original array from this order.
Use advanced random addon to create a random order for each row, and then use a Temp array for data exchange
Step 1
AdvancedRandom: Create permutation table action
It can generate a string of random sorting numbers. For example, When you fill in 10 as the length, it will return numbers 0-9 that have been randomly shuffled. If you want it to be 1-10 instead of 0-9, then you can set offset to 1, which means shifting forward by 1 number value.
You can see the shuffled order in Debugger
Then use AdvancedRandom.Permutation(index) expression to get this order. For example, use AdvancedRandom.Permutation(1) can get its 2nd value, which is 3.
If you want to loop through the entire list, you can use a For loop.
Step 2
Now that we have this new order, we can use this order to find the item in the array. use Array.At(x, y).
For example,
get the value of the original array
Array.At(0, 0) -> Apple
Array.At(0, 1) -> 100
Through this order, find the data of the new row
order = AdvancedRandom.Permutation(index)
Array.At(order, 0)
Array.At(order, 1)
Step 3
EventSheet: