CoffeeScript攻略4.6:打亂陣列元素

CoffeeScript Cookbook發表於2011-12-06

問題

你想打亂陣列中的元素。

方案

JavaScript中Array的sort()方法接受一個自定義的排序函式。因此,可以寫一個shuffle()方法來提供便利。

Array::shuffle = -> @sort -> 0.5 - Math.random()

[1..9].shuffle()
# => [ 3, 1, 5, 6, 4, 8, 2, 9, 7 ]

討論

要了解這個shuffle方法背後的原理,請參考StackOverflow的相關討論


enter image description here

相關文章