unique
数组中没有重复的元素。
签名
ts
function unique<T>(by?: (item: T) => unknown, msg?: Message): Action<T[]>参数
| 参数 | 类型 | 说明 |
|---|---|---|
by | (item: T) => unknown | 按什么值比较:(u) => u.email。默认为元素本身 |
msg | Message | 自定义错误信息 |
错误代码
| 代码 | 触发条件 | 默认信息 |
|---|---|---|
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())),
});