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) );
posted @ 2016-08-02 13:36  Leone-  阅读(...)  评论(...编辑  收藏