数组对象的去重然后排序

Posted 李初五

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组对象的去重然后排序相关的知识,希望对你有一定的参考价值。

    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);

 

以上是关于数组对象的去重然后排序的主要内容,如果未能解决你的问题,请参考以下文章

iOS 数组的去重(普通的无序的去重和排序好的去重)

JavaScript 之 普通数组对象数组的去重(涉及多个场景)

JavaScript 之 普通数组对象数组的去重(涉及多个场景)

JavaScript数组去重方法及测试结果

代码模板实现双向链表的去重拼接合并排序

经典面试题