1. 程式人生 > >js隨機從陣列中取出幾個元素

js隨機從陣列中取出幾個元素

JS如何從一個數組中隨機取出一個元素或者幾個元素。

假如陣列為

var items = ['1','2','4','5','6','7','8','9','10'];

1.從陣列items中隨機取出一個元素

//code from http://caibaojian.com/js-get-random-elements-from-array.html
var item = items[Math.floor(Math.random()*items.length)];

2.從前面的一篇隨機陣列中隨機取幾個元素

function getRandomArrayElements(arr, count) {
    var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index;
    while (i-- > min) {
        index = Math.floor((i + 1) * Math.random());
        temp = shuffled[index];
        shuffled[index] = shuffled[i];
        shuffled[i] = temp;
    }
    return shuffled.slice(min);
}


var items = ['1','2','4','5','6','7','8','9','10'];
console.log( getRandomArrayElements(items, 4) );