Shuffle data simulation
Your algorithm is a variant of Fisher-Yates shuffle,
and it's a good algorithm to shuffle a collection.
A more common form is instead of using the last element to swap,
you could have used the decreasing index i to swap,
like this:

  for (var i = len; i &gt; 0; i--) {
    rnd = Math.floor(Math.random() * len);
    temp = array[rnd];
    array[rnd] = array[i];
    array[i] = temp;
  }


It doesn't matter much though, your version is fine too.

Something to improve is a bit cosmetic:
it would be better to name your function with lowercase letters, shuffle,
because it's customary to start with a capital letter only functions that are used to create objects with the new keyword.

Lastly, this is a bit tedious to type:


var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'];



You could use this shorter form instead:

var arr = "abcdefghi".split("");