CoffeeScript攻略4.6:打亂陣列元素
問題
你想打亂陣列中的元素。
方案
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的相關討論。
相關文章
- CoffeeScript攻略4.9:篩選陣列陣列
- CoffeeScript攻略4.8:歸納陣列陣列
- CoffeeScript攻略4.7:對映陣列陣列
- JavaScript 陣列中元素隨機打亂排序JavaScript陣列隨機排序
- 打亂陣列陣列
- CoffeeScript攻略4.10:反轉陣列陣列
- CoffeeScript攻略4.1:從陣列生成字串陣列字串
- CoffeeScript攻略4.3:取得陣列最大值陣列
- CoffeeScript攻略4.4:使用陣列交換變數陣列變數
- CoffeeScript攻略4.5:定義陣列範圍陣列
- JavaScript 陣列順序打亂JavaScript陣列
- js陣列排序和打亂JS陣列排序
- LeetCode Shuffle an Array(打亂陣列)LeetCode陣列
- js將陣列中元素的順序打JS陣列
- js打亂陣列順序程式碼例項JS陣列
- CoffeeScript攻略1.1:嵌入JavaScriptJavaScript
- CoffeeScript攻略1.3:for迴圈
- CoffeeScript攻略3.7:拆分字串字串
- CoffeeScript攻略3.9:匹配字串字串
- 陣列元素逆序陣列
- JS 陣列亂序JS陣列
- CoffeeScript攻略3.8:字串插值字串
- CoffeeScript攻略3.1:重複字串字串
- 陣列元素劃分陣列
- golang 陣列去重 移除陣列指定元素Golang陣列
- JavaScript li元素的順序隨機打亂JavaScript隨機
- CoffeeScript攻略3.4:查詢子字串字串
- CoffeeScript攻略1.2:比較範圍
- CoffeeScript攻略2.4:建立類變數變數
- CoffeeScript攻略2.5:鏈式呼叫物件物件
- java陣列元素的引用Java陣列
- JavaScript陣列元素全排列JavaScript陣列
- JavaScript刪除陣列元素JavaScript陣列
- 陣列元素的數量陣列
- 陣列--移除陣列中指定的元素,不改變原陣列和改變原陣列陣列
- 陣列filter方法對陣列元素進行過濾陣列Filter
- CoffeeScript攻略3.10:生成唯一ID
- CoffeeScript攻略2.1:克隆物件(深複製)物件