可以通过以下步骤实现:
names
。uniqueNames
,用于存储生成的唯一名称。uuid
模块来生成UUID。例如,使用uuidv4()
函数生成一个唯一的UUID字符串。Date.now()
函数获取当前时间戳,并将其与名称组合起来。crypto
模块中的哈希函数,如createHash('md5')
,将名称转换为哈希值。以下是一个示例代码,演示如何从NodeJS中的名称数组创建唯一名称:
const uuidv4 = require('uuid').v4;
const crypto = require('crypto');
const names = ['John', 'Jane', 'Alice', 'Bob'];
const uniqueNames = [];
names.forEach(name => {
let uniqueName = generateUniqueName(name);
while (uniqueNames.includes(uniqueName)) {
uniqueName = generateUniqueName(name);
}
uniqueNames.push(uniqueName);
});
function generateUniqueName(name) {
// 使用UUID生成唯一名称
// const uniqueName = uuidv4();
// 使用时间戳和名称的组合生成唯一名称
// const uniqueName = `${Date.now()}_${name}`;
// 使用名称的哈希值生成唯一名称
const hash = crypto.createHash('md5').update(name).digest('hex');
const uniqueName = `${hash}_${name}`;
return uniqueName;
}
console.log(uniqueNames);
这段代码将生成一个唯一名称数组,例如:
[
'5eb63bbbe01eeed093cb22bb8f5acdc3_John',
'5eb63bbbe01eeed093cb22bb8f5acdc3_Jane',
'5eb63bbbe01eeed093cb22bb8f5acdc3_Alice',
'5eb63bbbe01eeed093cb22bb8f5acdc3_Bob'
]
这里使用了名称的哈希值作为唯一名称的一部分,以确保唯一性。你可以根据实际需求选择适合的唯一名称生成方法。
Elastic 实战工作坊
云+社区技术沙龙[第27期]
数字化产业研学汇
《民航智见》线上会议
云+社区技术沙龙[第22期]
数字化产业研学会第一期
Elastic 中国开发者大会
云+社区开发者大会 长沙站
Elastic 中国开发者大会
领取专属 10元无门槛券
手把手带您无忧上云