无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

碎片時間學(xué)編程「272]:從數(shù)組中獲取一個隨機元素,使用提供的 weights 作為每個元素

2023-02-20 12:22 作者:路條編程  | 我要投稿


從數(shù)組中獲取一個隨機元素,使用提供的 weights 作為每個元素的概率


使用 Array.prototype.reduce() 方法為 weights中的每個值創(chuàng)建一個數(shù)組。


使用 Math.random() 方法生成隨機數(shù)并用 Array.prototype.findIndex() 方法根據(jù)先前生成的數(shù)組找到正確的索引。


最后,返回帶有生成索引的 arr 元素。

JavaScript

const weightedSample = (arr, weights) => {

?let roll = Math.random();

?return arr[

? ?weights

? ? ?.reduce(

? ? ? ?(acc, w, i) => (i === 0 ? [w] : [...acc, acc[acc.length - 1] + w]),

? ? ? ?[]

? ? ?)

? ? ?.findIndex((v, i, s) => roll >= (i === 0 ? 0 : s[i - 1]) && roll < v)

?];

};

示例:

weightedSample([3, 7, 9, 11], [0.1, 0.2, 0.6, 0.1]); // 9


更多內(nèi)容請訪問我的網(wǎng)站:https://www.icoderoad.com


碎片時間學(xué)編程「272]:從數(shù)組中獲取一個隨機元素,使用提供的 weights 作為每個元素的評論 (共 條)

分享到微博請遵守國家法律
桃江县| 云阳县| 陵水| 陇川县| 东台市| 镶黄旗| 博乐市| 昌宁县| 娄底市| 锦州市| 四子王旗| 庄浪县| 太仓市| 柳江县| 天等县| 武宁县| 井冈山市| 旬阳县| 清涧县| 长岭县| 东平县| 独山县| 黄梅县| 渭南市| 茶陵县| 汾阳市| 虹口区| 泗洪县| 许昌县| 花垣县| 朝阳县| 娱乐| 屯留县| 漯河市| 江口县| 时尚| 莒南县| 定边县| 城步| 山西省| 沾益县|