node package manager

secure-sample

secure-sample

Secure, sequential (n, N) sampling without replacement

Usage

var sample = require('secure-sample')
 
sample(3, 10) // [0, 5, 9] 
 

Random order sample:

var sample = require('secure-sample')
var shuffle = require('secure-shuffle')
 
shuffle(sample(3, 10)) // [6, 2, 8] 
 

API

secureSample(sampleSize, populationSize)

Will return an array with sampleSize number of unique samples from the uniform distribution [0, populationSize) (populationSize exclusive). The samples will be sequential, so you may want to shuffle them. See Related for relevant module.

sampleSize and populationSize must be safe integers. sampleSize must not be larger than populationSize. If any of these conditions are violated, an error will be thrown. Something like unassertify

Install

npm install secure-shuffle

Related

Reference

John D. Cook on Stack Overflow

License

ISC