JS高性能隨機算法

舉例,從一個數組中隨機抽取若干元素且不重複

// 樣本數組
var exampleArr = [];
// 目標數組
var randomArr = [];
// 製造樣本
for (var i = 1; i <= 150; i++) {
    exampleArr.push(i)
}
// 抽取數據
for (var j = 0; j < 4; j++) {
    // 取索引值,0到樣本數組元素個數,向下取整(0到樣本數-1,因爲索引值從0開始)
    var index = Math.floor(Math.random() * exampleArr.length);
    randomArr.push(exampleArr[index]);
    // 已取的元素去掉,進入下一次循環
    exampleArr.splice(index, 1);
}
console.log(randomArr);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章