我正在阅读CRLS并在JavaScript中实现算法。通过在javascript中排序来随机播放数组
在第5.3节 - 通过排序进行排列,在尝试提出简单算法的有效实现时,我感觉自己像一个莫朗。下面是伪代码:
这是我实现
Array.prototype.sortShuffle = function() {
const LENGTH = this.length;
const CUBE = Math.pow(LENGTH, 3);
let P = this
.map((e, i) => {
return {v: Math.floor(Math.random() * CUBE), e: e}
})
.sort((e1, e2) => e1.v > e2.v);
P.forEach((e, i) => this[i] = e.e);
}
我使出了这个悲伤的解决方案,因为本地Array.prototype.sort不提供比较的指标,A。排序((e1,e2,i1,i2)=> ...)可能已经完成了。
谁能请提供更有效的解决方案(不执行上述所有排序功能)