如何创建可返回递增数字的函数为数组内对象分配唯一ID
完全可以实现,最常用的方案是通过闭包封装自增ID生成器,不会污染全局作用域,每次调用就能返回顺序递增的数字,完美匹配你的需求。
闭包自增ID生成器实现
// 可传入自定义起始值,默认从1开始计数 const createIdGenerator = (start = 1) => { let count = start return () => count++ }
使用方法
// 先初始化ID生成器 const getId = createIdGenerator() const array = [ { id: getId(), bla: "bla" }, { id: getId(), bla: "bla" }, { id: getId(), bla: "bla" } ]
上述代码生成的array结构和你给出的示例完全一致。
如果不需要ID按顺序递增,也可以使用随机ID生成方案,重复概率极低:
const getRandomNumId = () => Date.now() + Math.floor(Math.random() * 1000)
内容的提问来源于stack exchange,提问作者BarakOren
相关产品推荐
相关产品推荐

