A lightweight utility that allows you to easily choose a random item from a weighted list of items, with a probability dependent on their weight.
this module has no external dependencies and is licensed under the MIT License.
npm i -S random-weighted-pick
import weightedPick from 'random-weighted-pick'
// OR
var weightedPick = require('random-weighted-pick');
const options = [
{ id: 0, weight: 0.2, item: () => 'Lemon' },
{ id: 1, weight: 0.3, item: ['Grape', 'Orange', 'Apple'] },
{ id: 2, weight: 0.4, item: 'Mango' },
{ id: 3, weight: 0.1, item: 3 }
]
// Sum of 'weights' should be equal 1.
const result = weightedPick(options)
console.log(result) // { id: 2, item: 'Mango' }
🔄 Run this example on Codepen
npm install
Dependency module install
npm run build
Do some magic with ES6 to create ES5 code.
npm run test
npm run dev
: Run develop server
You can see result in
rm -f dist/*
Delete existing dist files
MIT License
Copyright (c) 2016 KossHackaton OneTeam