我正在閱讀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)=> ...)可能已經完成了。
誰能請提供更有效的解決方案(不執行上述所有排序功能)