去掉名字相同的数据
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) 否则就是存在就弹出 })