UNPKG

500 BJavaScriptView Raw
1var random = require('./random')
2
3var values = require('./values')
4
5/**
6 * 将一个数组随机打乱,返回一个新的数组
7 *
8 * @param {Array} array 数组
9 * @return {Array}
10 */
11function shuffle (array) {
12 var index
13 var result = []
14 var list = values(array)
15 var len = list.length - 1
16 for (; len >= 0; len--) {
17 index = len > 0 ? random(0, len) : 0
18 result.push(list[index])
19 list.splice(index, 1)
20 }
21 return result
22}
23
24module.exports = shuffle