最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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 作為每個元素的評論 (共 條)

分享到微博請遵守國家法律
绥阳县| 万载县| 休宁县| 略阳县| 尖扎县| 安乡县| 安图县| 开鲁县| 梁山县| 萝北县| 巴林左旗| 游戏| 托克逊县| 自贡市| 安乡县| 蒙阴县| 卓资县| 大兴区| 措美县| 西藏| 定安县| 乳山市| 轮台县| 惠州市| 许昌县| 逊克县| 甘肃省| 伊川县| 深水埗区| 微山县| 博兴县| 肥乡县| 鹰潭市| 松原市| 广汉市| 六安市| 罗江县| 宣恩县| 巩留县| 安泽县| 中牟县|