Skip to content

unique ​

数组中没有重复的元素。

签名 ​

ts
function unique<T>(by?: (item: T) => unknown, msg?: Message): Action<T[]>

参数 ​

参数类型说明
by(item: T) => unknown按什么值比较:(u) => u.email。默认为元素本身
msgMessage自定义错误信息

错误代码 ​

代码触发条件默认信息
unique存在重复Must not contain duplicates

可以修改这些文本:见 错误信息与国际化。

注意事项 ​

字符串和数字按值比较,对象按内容比较。

示例 ​

ts
const Invite = object({
  emails: pipe(array(pipe(string(), email())), unique()),
  members: pipe(array(object({ email: string() })), unique((m) => m.email.toLowerCase())),
});

另请参阅 ​