数组乱序Shufflefy.js

个人站推荐阅读功能看起来有点呆板,写个数组乱序给列表带来点可控的新鲜感。支持多次乱序、Seed和自定义随机数生成器。

代码在
github.com/imp8468/shufflefy
有Bug修,有需求回,MIT协议请随意使用:
www.npmjs.com/package/shufflefy

使用方法

安装之:

npm install shufflefy

Require之:

const shufflefy = require('shufflefy');

传入源数组,返回乱序数组。数组成员允许各种类型,请参见example.js。乱序不会影响源数组

const numberArr = [1, 2, 3, 4, 5, 6, 7];
console.log(shufflefy(numberArr));

参数列表:

shufflefy(input_arr[, iteration[, starting_seed[, randomizer]]])
  • input_arr - 源数组,array类型

  • iteration - 乱序的次数,number类型,可选。可以理解为“洗牌”的次数。默认值:1

  • starting_seed - 初始seed,number类型,可选。控制伪随机数生成器,进而决定输出的乱序数组。每对儿seed和iteration会保证稳定的输出。默认值:node的纳秒时钟

  • randomizer - 随机数生成器,function类型,可选。接受一个number类型的seed,期望返回 [0, 1),样例参见example.js。默认值:基于经典3元组(9301, 49297, 233280)的实现

测试:

npm test

样例:

node example.js

跑分:

node benchmark.js

License

MIT

你可能感兴趣的:(数组乱序Shufflefy.js)