unqiueId([prefix=’’])
这个方法主要作用是,生成唯一ID。如果提供了prefix,会被添加到ID前缀上。
例子
1 | _.uniqueId('contact_'); |
这个方法源码很简单,我们直接上源码。解析直接以注释的方式呈现。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26/*
创建一个全局的对象,用来生成唯一的id。
*/
const idCounter = {}
function uniqueId(prefix='$lodash$') { //如果prefix没有传的话,默认参数为$lodash$
/*
初始化,如果prefix在idCounter中不存在的话。
*/
if (!idCounter[prefix]) {
idCounter[prefix] = 0
}
const id =++idCounter[prefix] //每次调用的时候id+1,由于是++在前,所以id是从1开始。
/*
如果没有传prefix,最终返回id,如果传了,则拼接返回。
*/
if (prefix === '$lodash$') {
return `${id}`
}
return `${prefix}${id}`
}
export default uniqueId