"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.deduplicate = deduplicate;
/**
* 数组去重
*
* deduplicate array
* @param arr - 数组 | array
* @param by - 通过某个属性去重 | deduplicate by some property
* @returns 去重后的数组 | deduplicated array
*/
function deduplicate(arr, by = (item) => item) {
const set = new Set();
return arr.filter((item) => {
const key = by ? by(item) : item;
return set.has(key) ? false : set.add(key);
});
}
//# sourceMappingURL=array.js.map