@3r/tool
Version:
🏃包含一些常用方法例如对象深克隆、递归调用、一一对比/数组交集、并集、差集/二维向量点乘、叉乘/股票KDJ、MACD、RSI、BOLL/验证为空、车牌号、邮箱、身份证、统一社会信用代码、手机号、版本对比/转换日期、星座、身份证解析、字节/随机颜色、手机号、身份证号码、统一社会信用代码...持续更新整合
82 lines (76 loc) • 2.69 kB
JavaScript
import { GetRandomStrEnum, Randoms } from "../index.js";
let description = function () {
return ["#### Randoms 随机模块", "包含一些随机的方法.", "", "以下是相关示例:"];
};
let prizes = [
{
name: "苹果13",
weight: 1,
},
{
name: "兰博基尼5元优惠券",
weight: 10000,
},
{
name: "香港一日游满5000-5券",
weight: 20000,
},
{
name: "王者荣耀绝美皮肤一套",
weight: 200,
},
{
name: "鼠标垫",
weight: 200,
},
{
name: "再来一次",
weight: 10000,
},
{
name: "吹风机",
weight: 20,
},
{
name: "扫地机器人",
weight: 10,
},
];
let run = function () {
console.log("获取随机数(整数) [0~10)之间的数", Randoms.int(0, 10));
console.log("打乱数组", Randoms.getDisorganizeArray([{ a: 1 }, { b: 1 }, { c: 1 }]));
console.log("随机一个长度为10的只有大小写的字母字符串", Randoms.str(10, GetRandomStrEnum.LargeSmall));
console.log("全局唯一标识符(uuid)", Randoms.uuid());
// 数据格式 [{name:string,weight:number}] weight 支持自定义在第二个参数中
console.log("按权重获取随机索引", Randoms.getRandomIndexByWeight(prizes));
console.log("随机获取颜色", Randoms.getRandomColor());
console.log("随机获取身份证号码", Randoms.getRandomCitizenIdentificationNumber());
};
try {
describe("随机模块", function () {
it("获取随机数(整数) [0~10)之间的数", function () {
expect(Randoms.getRandomInt(0, 10) < 10).toEqual(true);
});
it("打乱数组", function () {
expect(Randoms.getDisorganizeArray([{ a: 1 }, { b: 1 }, { c: 1 }]).length == 3).toEqual(true);
});
it("随机一个长度为10的只有大小写的字母字符串", function () {
expect(Randoms.getRandomStr(10, GetRandomStrEnum.LargeSmall).length == 10).toEqual(true);
expect(Randoms.getRandomStr(10, GetRandomStrEnum.Number).length == 10).toEqual(true);
expect(Randoms.getRandomStr(10, "LargeSmall").length == 10).toEqual(true);
expect(Randoms.getRandomStr(10).length == 10).toEqual(true);
});
it("全局唯一标识符(uuid)", function () {
expect(Randoms.uuid().length).toEqual("e5d823f1-c4dd-4205-91c6-7cc1fe61cb0c".length);
});
it("按权重获取随机索引", function () {
expect(Randoms.getRandomIndexByWeight(prizes) < prizes.length).toEqual(true);
});
it("随机获取颜色", function () {
expect(Randoms.getRandomColor().startsWith("rgb")).toEqual(true);
});
});
} catch (error) {
// describe is not defined 无需理会 调用方式不一致
}
export { run, description };