首页 > 解决方案 > 如何使用 chance.js 生成 100 个唯一的 10 字符字符串

问题描述

我想使用 chance.js 生成 100 个唯一的 10 字符字符串。我使用下面的代码,但它返回一个错误。任何人都知道如何使它工作?

let res = chance.unique(chance.string({ length: 10, casing: 'upper', alpha: true, numeric: true }), 100);
<script src="https://cdnjs.cloudflare.com/ajax/libs/chance/1.1.6/chance.min.js"></script>

以下工作,但它不返回固定长度的字符串。

let res = chance.unique(chance.string, 100);
console.log(res);
<script src="https://cdnjs.cloudflare.com/ajax/libs/chance/1.1.6/chance.min.js"></script>

标签: javascriptchancejs

解决方案


您尝试的问题是您没有将函数传递给chance.unique,而是执行 chance.string

为了传递一个函数,它将使用你想要的选项调用,你可以传递一个匿名函数,或者让bind你为你做:

let res = chance.unique(chance.string.bind(chance, { length: 10, casing: 'upper', alpha: true, numeric: true }), 100);

console.log(res);
<script src="https://cdnjs.cloudflare.com/ajax/libs/chance/1.1.6/chance.min.js"></script>


推荐阅读