js-red-package 🧧
用 js 实现一个类似微信红包的随机算法
🚀 支持 JavaScript 浮点数运算
https://www.npmjs.com/package/js-red-package/
https://github.com/xgqfrms/js-red-package
install
$ yarn add js-red-package# or $ npm i js-red-package
usage
// ESM,build/index.min.mjs (default); // OR// CMJ, build/index.min.jsconst autoRandomRedPackage = ;// const autoRandomRedPackage = require("js-red-package/build/index.min.js");
test
const total = arrresult / 100; // 测试 test casesconst test = ;// ❌ 异常处理const test0 = ;const test1 = ; // ✅ okconst test2 = ;const test3 = ;const test4 = ;const test5 = ; ;; ;; ;; ;; ;; ;; ;; /* $ node test.js (node:2259) ExperimentalWarning: The ESM module loader is experimental.💩 请重新输入红包数量! 减少红包数量,或增加红包金额!❌ 你输入的红包数量太多了,每个人至少要能分到 0.01 元! test = falsetotal = false test = { total: 0.1, result: [ 0.02, 0.01, 0.02, 0.03, 0.02 ], desc: '\n' + ' 🕵️♂️ 你输入的红包总额是 0.1 元, 红包数量是 5 个!\n' + ' 👍 最大的红包是 0.03 元!\n' + ' 👎 最小的红包是 0.01 元!\n' + ' '}total = 0.1 test = { total: 0.1, result: [ 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ], desc: '\n' + ' 🕵️♂️ 你输入的红包总额是 0.1 元, 红包数量是 10 个!\n' + ' 👍 最大的红包是 0.01 元!\n' + ' 👎 最小的红包是 0.01 元!\n' + ' '}total = 0.1 test = { total: 1, result: [ 0.18, 0.08, 0.09, 0.12, 0.01, 0.18, 0.07, 0.08, 0.14, 0.05 ], desc: '\n' + ' 🕵️♂️ 你输入的红包总额是 1 元, 红包数量是 10 个!\n' + ' 👍 最大的红包是 0.18 元!\n' + ' 👎 最小的红包是 0.01 元!\n' + ' '}total = 1 test = { total: 10, result: [ 0.76, 0.39, 1.88, 0.71, 0.33, 1.57, 0.55, 1.23, 1.72, 0.86 ], desc: '\n' + ' 🕵️♂️ 你输入的红包总额是 10 元, 红包数量是 10 个!\n' + ' 👍 最大的红包是 1.88 元!\n' + ' 👎 最小的红包是 0.33 元!\n' + ' '}total = 10 test = { total: 100, result: [ 11.34, 13.3, 9.6, 3.29, 10.27, 12.1, 12.31, 5.17, 6.29, 16.33 ], desc: '\n' + ' 🕵️♂️ 你输入的红包总额是 100 元, 红包数量是 10 个!\n' + ' 👍 最大的红包是 16.33 元!\n' + ' 👎 最小的红包是 3.29 元!\n' + ' '}total = 100 test = { total: 100, result: [ 10.43, 15.55, 9, 4.64, 7.74, 11.96, 12.9, 4.82, 14.19, 8.36, 0.41 ], desc: '\n' + ' 🕵️♂️ 你输入的红包总额是 100 元, 红包数量是 11 个!\n' + ' 👍 最大的红包是 15.55 元!\n' + ' 👎 最小的红包是 0.41 元!\n' + ' '} */