JavaScript の破壊的ソート問題と、その対策 From http://d.hatena.ne.jp/kitokitoki/20110615/p1
var a = ["aa", "cc", "bb"];
result = a.slice().sort();
console.log(a); //=> ["aa", "cc", "bb"] // a は変更されない
console.log(result); //=> ["aa", "bb", "cc"]
var b = ["aa", "cc", "bb"];
result = b.sort();
console.log(b); //=> ["aa", "bb", "cc"] // b も変更されている
console.log(result); //=> ["aa", "bb", "cc"]