random-weighted-pick

1.0.12 • Public • Published

random-weighted-pick

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.

codebeat badge

Installation & Usage

install

npm i -S random-weighted-pick

usage

import weightedPick from 'random-weighted-pick'
// OR
var weightedPick = require('random-weighted-pick');
 
const options = [
    { id: 0, weight: 0.2, item: () => console.log('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

Development

install

npm install

Dependency module install

build

npm run build

Do some magic with ES6 to create ES5 code.

test

npm run test

Run test with Jest + Chai

develop

npm run dev : Run develop server

You can see result in

List of available tasks

clean

rm -f dist/*

Delete existing dist files

License

MIT License

Copyright (c) 2016 KossHackaton OneTeam

Package Sidebar

Install

npm i random-weighted-pick

Weekly Downloads

16

Version

1.0.12

License

MIT

Unpacked Size

74.7 kB

Total Files

23

Last publish

Collaborators

  • phandrade