1.两个功能函数实现
1.去重函数一
function unique(arr, key) {
var res = new Map();
return arr.filter(function (a) {
return !res.has(a[key]) && res.set(a[key], 1);
});
}
2.去重函数二
function uniqueArray(arr = [], key) {
const keyValues = new Set();
let val;
return arr.filter((obj) => {
val = obj[key];
if (keyValues.has(val)) {
return false;
}
keyValues.add(val);
return true;
});
}
3.排序函数
function sortBy(attr, rev) {
if (rev == undefined) {
rev = 1;
} else {
rev = rev ? 1 : -1;
}
return function (a, b) {
a = Number(a[attr]);
b = Number(b[attr]);
if (a < b) {
return rev * -1;
}
if (a > b) {
return rev * 1;
}
return 0;
};
}
const arr = [
{
id: 1,
name: "s",
},
{
id: 4,
name: "ssss",
},
{
id: 4,
name: "ssss",
},
{
id: 4,
name: "ssss",
},
{
id: 2,
name: "ss",
},
{
id: 2,
name: "ss",
},
{
id: 2,
name: "ss",
},
{
id: 3,
name: "sss",
},
];
const res = unique(arr, "id").sort(sortBy("id", true));
console.log(res);
res => [
0: {id: 1, name: 's'}
1: {id: 2, name: 'ss'}
2: {id: 3, name: 'sss'}
3: {id: 4, name: 'ssss'}
]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?