你如何在 Coffeescript 中打乱数组?
How do you shuffle an array in Coffeescript?
如何在 Coffeescript 中打乱数组?
Fisher–Yates shuffle from github(修改):
fisherYates = (arr) ->
i = arr.length
return arr unless i > 0
while --i
j = Math.floor(Math.random() * (i+1))
[arr[i], arr[j]] = [arr[j], arr[i]] # use pattern matching to swap
当我测试时,您的表单出现了意外行为。
这种方式对我有用。
shuffle_array = (arr) ->
i = arr.length
while --i
j = Math.floor(Math.random() * (i+1))
[arr[i], arr[j]] = [arr[j], arr[i]]
return arr unless i > 0
干杯。
Array::shuffle = ->
a=@
i=a.length
while i>0
int=Math.floor(Math.random()*i)
i--
o=a[i]
a[i]=a[int]
a[int]=o
a
console.log([1..10].shuffle())
如何在 Coffeescript 中打乱数组?
Fisher–Yates shuffle from github(修改):
fisherYates = (arr) ->
i = arr.length
return arr unless i > 0
while --i
j = Math.floor(Math.random() * (i+1))
[arr[i], arr[j]] = [arr[j], arr[i]] # use pattern matching to swap
当我测试时,您的表单出现了意外行为。 这种方式对我有用。
shuffle_array = (arr) ->
i = arr.length
while --i
j = Math.floor(Math.random() * (i+1))
[arr[i], arr[j]] = [arr[j], arr[i]]
return arr unless i > 0
干杯。
Array::shuffle = ->
a=@
i=a.length
while i>0
int=Math.floor(Math.random()*i)
i--
o=a[i]
a[i]=a[int]
a[int]=o
a
console.log([1..10].shuffle())