# 随机

  1. randomInt

随机整数范围 [min, max),默认为 [0, max)

定义:

export declare function randomInt(max: number, min?: number): number;
  1. newSmartData

输入两个点 (0, min) & (double, 2 * double) 以生成 f(x) = max(a(x-b)^(1/3)+2b, x) 函数。

定义:

export declare const newSmartData: (min: number, double: number) => (n: number) => number;

用法:

const f = newSmartData(636, 6000);

// f(0) = 636; f(6000) = 12000;
// 对于任意 x < y 满足 f(x) <= f(y);
// 当 x 足够大时返回 x,e.g. f(35000) = 35000

// 更多例子(第二个参数越大或第一个参数越小,函数越陡峭,函数直接返回 x 的临界值更高):
// min, double -> 大概的临界值
// 100, 10000 -> 53000
// 100, 20000 -> 105000
// 200, 10000 -> 52000
//
// Tips: 建议以调整第二个参数为主

const a = Array(200).fill(undefined).map((_, i) => (i * i));
const b = a.map((n) => {
  const m = f(n);
  expect(m).toBeGreaterThanOrEqual(n);
  return m;
});
b.reduce((m: number, n: number) => {
  expect(m).toBeLessThanOrEqual(n);
  return n;
}, 500)
  1. randomString

生成随机定长字符串

定义:

export declare const randomString: (len?: number) => string;

用法:

const s = randomString(1000)
更新于: 6/25/2021, 5:28:40 PM