数组对象的去重然后排序

复制代码
    let arr = [
    {
        name: 'aaa',
        data: 20
    },{
        name: 'bbb',
        data: 10
    },{
        name: 'aaa',
        data: 20
    },{
        name: 'ccc',
        data: 2
    },{
        name: 'ddd',
        data: 31
    },{
        name: 'eee',
        data: 1
    },{
        name: 'fff',
        data: 4
    },
    ];
复制代码
复制代码
const sort = arr => {
        // 去重
        let obj = {};
        let newArr = [];
        arr.forEach((val) => {
            console.log(val);
            if(!obj[val.name]) {
                obj[val.name] = val;
                newArr.push(val);
            };
        });
        // 最简单的使用sort去重
        let sortArr = newArr.sort((a, b) => {
            return a.data - b.data;
        });
        // 冒泡排序去重(ps:还有好多种自己慢慢试吧)
        //        for (let i = 0; i < newArr.length; i++) {
        //            for (let j = i+1; j < newArr.length; j++) {
        //                let curr = newArr[i];
        //                if (curr.data > newArr[j].data) {
        //                    let ind = newArr[j];
        //                    newArr[i] = ind;
        //                    newArr[j] = curr;
        //                };
        //            };
        //        };
        console.log(newArr);
    };
    sort(arr);
复制代码

 

posted @   李文杨  阅读(549)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示