为 JSON 个元素生成 ID

generating ids for JSON elements

有没有办法通过这种格式生成随机 ID(javascript 首选):?

7181cec4-cf43-5936-a75b-c1d5f8a7e00e

我需要为 JSON 文件中的每个元素创建一个 id,以便在进行各种排序时区分它们。

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"

这是一种方法:

<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