zoukankan      html  css  js  c++  java
  • js对象数组去重按对象中的某个属性去重

    <script src="https://cdn.staticfile.org/jquery/2.2.4/jquery.min.js"></script>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>文档标题</title>
    </head>
    <body>
        <h2>去重之前:</h2>
        <div id="uniqueArrayBefore"></div>
        <h2>去重之后:</h2>
        <div id="uniqueArrayAfter"></div>
    </body>
    <script>
        var printinfos = [{
            printname: "一分钱测试票",
            num: 1,
            printtime: "2021-09-27 11:09:55"
        },
        {
            printname: "一分钱测试票",
            num: 2,
            printtime: "2021-09-28 11:09:55"
        },
        {
            printname: "测试票",
            num: 5,
            printtime: "2021-09-28 11:09:55"
        }]
        $(function(){
            $("#uniqueArrayBefore").text(JSON.stringify(printinfos));
            console.log(printinfos);
            const res = new Map();
            var printinfoArr = printinfos.filter(function(currentValue,index,arr){
                if(res.has(currentValue.printname)){
                    for(var i = 0; i<arr.length; i++){
                        var obj = arr[i];
                        if(obj.printname === currentValue.printname){// 对象里的唯一标识printname
                            obj.num += currentValue.num;
                            arr[i] = obj;
                            break;
                        }
                    }
                    return false;
                }else{
                    res.set(currentValue.printname, 1);
                    return true;
                }
            });
            console.log(printinfoArr);
            $("#uniqueArrayAfter").text(JSON.stringify(printinfoArr));
        })
    </script>
    </html>
  • 相关阅读:
    /sbin/nologin 和 /bin/false 的区别
    lesson
    df 命令详解
    课后习题-7 阶段汇总
    javascript Window Navigator
    javascript 正则表达式
    linux crontab 的使用
    linux环境变量
    linux第一个C语言和sh脚本
    linux 文件常用操作
  • 原文地址:https://www.cnblogs.com/sarly/p/15347001.html
Copyright © 2011-2022 走看看