Skip to content

createUniqueLabeledName

在已有名称集合中分配不冲突的显示名(basebase 2base 3 …)。

函数签名

typescript
function createUniqueLabeledName(options: CreateUniqueLabeledNameOptions): string

interface CreateUniqueLabeledNameOptions {
  existingNames: readonly string[]
  base: string
}

参数

参数名类型必填说明
options.basestring期望使用的基础名称
options.existingNamesreadonly string[]已占用的名称列表

返回值

类型说明
string不与 existingNames 冲突的唯一名称

工作原理

  1. existingNames 放入 Set 做 O(1) 查找。
  2. base 未被占用,直接返回 base
  3. 否则从 2 起递增,尝试 ${base} ${index},返回第一个未占用的名称。