json数据去重

    xiaoxiao2021-04-13  30

    去掉名字相同的数据

    var $a ={                                                      

        "total":3,                                                           "rows":[                                                                   {"code":"001","name":"北京市","qymc":"雪花啤酒","pfkmc":"雪花排气口1#"},                  {"code":"002","name":"北京市","qymc":"雪花啤酒","pfkmc":"雪花排气口2#"},                  {"code":"003","name":"上海市","qymc":"雪花啤酒","pfkmc":"雪花排气口2#"}     ]                                                           }  

    方法1,用一个数组接收所有的name值,然后相同的就不push进去了。 $b = {"total":0,"rows":[]};   //去重之后的新的数据放在这里 var arr = [];    //arr里面存放用来判断是否一样的name的值 for(var i=0; i<$a.rows.length; i++){           if(arr.indexOf($a.rows[i].name) ==-1){    //  -1代表没有找到         arr.push($a.rows[i].name);   //如果没有找到就把这个name放到arr里面,以便下次循环时用         $b.rows.push($a.rows[i]);         $b.total++;     }       }   var newarr = $b;

     

    console.log(JSON.stringify(newarr))

    方法2.冒泡法。每个都与他后一个相比较

    function RemoveArr(arr) {     for (var i = 0; i < arr.length; i++) {         for (var j = i+1; j < arr.length; j++) {             if(arr[i].name==arr[j].name){                 arr.splice(j,1)             }else{                 j++             }         }     }     return arr }   console.log(RemoveArr(arr))

     

    方法3.利用es6的includes方法

    var arr = [                                                                   {"code":"001","name":"北京市","qymc":"雪花啤酒","pfkmc":"雪花排气口1#"},                  {"code":"001","name":"北京市","qymc":"雪花啤酒","pfkmc":"雪花排气口1#"},                  {"code":"003","name":"上海市","qymc":"雪花啤酒","pfkmc":"雪花排气口2#"}     ];

    var newarr=[];//存去重后的新数组 var newarrname=[];//获取name值 arr.forEach(res=>{     if(!newarrname.includes(res.name)){         newarrname.push(res.name);         newarr.push(res)     } })

    console.log(newarr)

     

    方法4 /* * 参数1 jsonArr 是一个 json 格式的数组 * 参数2 key 是唯一的key名,根据此键名进行去重 */ function unique7 (jsonArr, key) {     var result = [jsonArr[0]];     for (var i = 1; i < jsonArr.length; i++) {         var item = jsonArr[i];         var repeat = false;         for (var j = 0; j < result.length; j++) {             if (item[key] == result[j][key]) {                 repeat = true;                 break;             }         }         if (!repeat) {             result.push(item);         }     }     return result; } var jsonArr = [         {man: 'xuming', phone: 13317136190, time: '2019年3月12日 12:00:00'},         {man: 'xiaochan', phone: 13317136190, time: '2019年3月12日 12:00:00'},         {man: 'xiaofang', phone: 13317136192, time: '2019年3月12日 12:00:00'},         {man: 'chengzhe', phone: 13317136193, time: '2019年3月12日 12:00:00'}       ] console.log(jsonArray(jsonArr, 'phone'))

     

     

     

    找到具有相同的那个id。

    <form id="form1">                 <div id="div1"></div>                 <div id="div2"></div>                 <div id="div3"></div>                 <div id="div2"></div>  </form>

     

                var a;             var arr=[];             $("#form1 div").each(function(){               a= $(this).attr("id");                            if(arr.indexOf(a)==-1){   //如果里面没有a。就把这个a放到数组里                   arr.push(a);               }               else alert(a)  否则就是存在就弹出             })

    转载请注明原文地址: https://ju.6miu.com/read-669016.html

    最新回复(0)