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

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

分享到微博請遵守國家法律
华宁县| 修水县| 霍城县| 汉源县| 湖南省| 横山县| 彭阳县| 白山市| 溧阳市| 龙南县| 金门县| 饶平县| 沙雅县| 万荣县| 玉门市| 长兴县| 犍为县| 双桥区| 德令哈市| 武穴市| 合阳县| 桃园市| 新沂市| 古浪县| 深泽县| 辽宁省| 南部县| 嘉祥县| 洪泽县| 白朗县| 科尔| 南昌县| 丽水市| 连城县| 封开县| 庐江县| 中宁县| 乐安县| 临夏县| 昌平区| 普定县|