利用JS脚本从数组中随机取出多个不同的元素,其实非常的简单。只需要打要处理的数组进行打乱,然后在打乱的数组中截取指定的元素即可,下面是案例,大家可以参考一下。

JS从数组中随机取出多个不同元素的方法

1、定义一个打乱数组的方法

//定义一个打乱数组的方法

function shuffle(array) {
    var m = array.length,t, i;
    // 如果还剩有元素…
    while (m) {
        // 随机选取一个元素…
        i = Math.floor(Math.random() * m--);
        // 与当前元素进行交换
        t = array[m];
        array[m] = array[i];
        array[i] = t;
    }
    return array;
}

2、调用打乱数组的方法

arr = ['1','2','3','4','5'];
var message = shuffle(arr);
console.log(message);
打印结果:
['4', '2', '3', '5', '1']

3、数组已经被打乱,直接利用JS代码进行截取接口

message = message.slice(0, 3);  //截取数组中的前三个元素
console.log(message);
//  ['4', '2', '3']

完整的示例代码:

/*
* JS 打乱数组的函数
* 输入一个指定的数组
* 返回打乱元素的数组
* 飞鸟慕鱼博客
* feiniaomy.com
*/
function shuffle(array) {
    var m = array.length,t, i;
    // 如果还剩有元素…
    while (m) {
        // 随机选取一个元素…
        i = Math.floor(Math.random() * m--);
        // 与当前元素进行交换
        t = array[m];
        array[m] = array[i];
        array[i] = t;
    }
    return array;
}
//定义一个数组
arr = ['1','2','3','4','5'];
//打乱数组中元素的排序 
var message = shuffle(arr);
// 截取打乱后的数组
message = message.slice(0, 3);
console.log(message);