【问题标题】:generating ids for JSON elements [duplicate]为 JSON 元素生成 ID [重复]
【发布时间】:2019-10-19 18:50:36
【问题描述】:
有没有办法通过这种格式生成随机 id(首选javascript):?
7181cec4-cf43-5936-a75b-c1d5f8a7e00e
我需要为 JSON 文件中的每个元素创建一个 id,以便在进行各种排序时区分它们。
【问题讨论】:
标签:
javascript
random
uniqueidentifier
【解决方案1】:
function randomAlphaNumeric () {
return Math.random().toString(36).charAt(2);
};
function createFromPattern (pattern) {
pattern = pattern.split('');
return pattern.map(x => x.replace('x', randomAlphaNumeric())).join('');
};
将允许您以您喜欢的任何模式创建您的 ID,只要它的格式为 xxx-xxx
例子:
createFromPattern('xxx-xxx')
> "e6y-gzc"
createFromPattern('xxx-xxx-x-xxx-xxxx')
> "3w8-fch-t-fh3-h4uu"
createFromPattern('x-xxx-x')
> "c-yli-4"
【解决方案2】:
这是一种方法:
<script>
function RandomHexString(L) {
var hexstring='';
for(var i=0; i<L; i++) {
hexstring+=(Math.floor(Math.random() * 16)).toString(16);
}
return(hexstring);
}
console.log(RandomHexString(8) + '-' + RandomHexString(4) + '-' + RandomHexString(4) + '-' + RandomHexString(4) + '-' + RandomHexString(12));
</script>
这将产生如下输出:
a007bfd5-7883-6ac4-2a35-57efa2ab6fdc
7428b81f-4670-64ce-e02b-2ac97ae241bc