Javascript:从数组中随机选择多个元素(不是单个值选择)

Javascript:从数组中随机选择多个元素(不是单个值选择),javascript,arrays,Javascript,Arrays,我试图编写代码,从数组中选择n个随机元素。例如: const originalArray = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]; const randomSelection = (n) => { if (n > originalArray.length) { return originalArray; } else { //Some Code to randomly selec

我试图编写代码,从数组中选择n个随机元素。例如:

const originalArray = ["a", "b", "c", "d", "e", "f", "g", "h", "i"];

const randomSelection = (n) => {
    if (n > originalArray.length) {
        return originalArray;
    } else {
        //Some Code to randomly select n elements from orignialArray
    }
}

const newArray = randomSelection(2); //Random selection of 2 elements from the above array
实现这一点的代码是什么?我搜索了案例示例,但想知道是否有更简单、更直接的方法来实现这一点

有什么建议吗?提前多谢

试试这个:

const originalArray=[“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”];
函数随机化元素(n){
常量newArray=[]
如果(n>原始阵列长度){
回归原点;
}
否则{
for(设i=0;ilog(随机元素(2))
您可以执行以下操作

let randArr = [];
while(let i = 0; i < n; i++)
     let chosen = Math.floor(Math.random() *  originalarray.length);

     randArr[i] = originalarray[chosen];
}
return randArr;
让randArr=[];
而(设i=0;i

因此,您可以从数组中检索多个随机值。

此代码从数组中生成
n
随机元素,并避免重复:

const originalArray=[“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”];
常量随机选择=(n)=>{
设newArr=[];
如果(n>=原始阵列长度){
回归原点;
}
for(设i=0;i
.as控制台包装{max height:100%!重要;top:auto;}
函数randArr(n){
设ta=arr,i=0;

我能回答你的问题吗?
function randArr(n) {
    let ta = arr, i=0;
    while(i<n) {
        let ri = Math.floor(Math.random()*ta.length);
        ta[i] = [ta[ri], ta[ri]=ta[i]][0];
        i++;    
    }
    ta.splice(i, ta.length);
    return ta;
}