跳到主要内容

unionBy()

function unionBy<T>(array, getKey): T[];

Defined in: array/unionBy.ts:21

根据指定的键函数对数组进行去重,返回唯一元素的新数组 使用键函数提取每个元素的唯一标识符,保留第一次出现的元素

Type Parameters

Type ParameterDefault typeDescription
Tany数组元素的类型

Parameters

ParameterTypeDescription
arrayT[]要去重的数组
getKey(item) => string | number键函数,用于从元素中提取唯一标识符

Returns

T[]

去重后的新数组,保留元素在原数组中的出现顺序

Examples

unionBy([{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 1, name: 'Alice2' }], item => item.id);
// 返回 [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }](按id去重)
unionBy(['apple', 'banana', 'Apple'], item => item.toLowerCase());
// 返回 ['apple', 'banana'](按小写字母去重)
unionBy([1, 2, 3, 2, 1], item => item);
// 返回 [1, 2, 3](基本类型去重)
**Note:** 键函数的返回值必须是字符串或数字类型
**Note:** 保留第一次出现的元素,后续重复元素被过滤掉
**Note:** 返回新数组,不修改原数组