第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何從數(shù)組中隨機(jī)獲取n個(gè)元素

如何從數(shù)組中隨機(jī)獲取n個(gè)元素

我正在研究“如何從javascript中的數(shù)組隨機(jī)訪問(wèn)元素”。我發(fā)現(xiàn)了許多與此有關(guān)的鏈接。像: 從JavaScript數(shù)組中獲取隨機(jī)項(xiàng)目var item = items[Math.floor(Math.random()*items.length)];問(wèn)題:但是在這種情況下,我們只能從數(shù)組中選擇一項(xiàng),如果我們想要多個(gè)元素,那么我們將如何實(shí)現(xiàn)這一點(diǎn),所以請(qǐng)僅從該語(yǔ)句中獲取一個(gè)數(shù)組中的多個(gè)元素。
查看完整描述

3 回答

?
弒天下

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊

嘗試以下無(wú)損(快速)功能:


function getRandom(arr, n) {

    var result = new Array(n),

        len = arr.length,

        taken = new Array(len);

    if (n > len)

        throw new RangeError("getRandom: more elements taken than available");

    while (n--) {

        var x = Math.floor(Math.random() * len);

        result[n] = arr[x in taken ? taken[x] : x];

        taken[x] = --len in taken ? taken[len] : len;

    }

    return result;

}


查看完整回答
反對(duì) 回復(fù) 2019-12-27
?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊

僅兩行:


// Shuffle array

const shuffled = array.sort(() => 0.5 - Math.random());


// Get sub-array of first n elements after shuffled

let selected = shuffled.slice(0, n);


查看完整回答
反對(duì) 回復(fù) 2019-12-27
?
哆啦的時(shí)光機(jī)

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊

創(chuàng)建一個(gè)可以做到這一點(diǎn)的功能:


var getMeRandomElements = function(sourceArray, neededElements) {

    var result = [];

    for (var i = 0; i < neededElements; i++) {

        result.push(sourceArray[Math.floor(Math.random()*sourceArray.length)]);

    }

    return result;

}

您還應(yīng)該檢查sourceArray是否有足夠的元素要返回。如果要返回唯一元素,則應(yīng)從sourceArray中刪除選定的元素。


查看完整回答
反對(duì) 回復(fù) 2019-12-27
  • 3 回答
  • 0 關(guān)注
  • 1152 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)