javascript - 怎么获取重复的数据
本文介绍了javascript - 怎么获取重复的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
数据是这样的
var node=[
{
"listId":10,
"projectName":"中行",
"projectVersion":"0.1.2.0"
},
{
"listId":10,
"projectName":"中行",
"projectVersion":"0.1.2.0"
},
{
"listId":10,
"projectName":"中行",
"projectVersion":"0.1.2.0"
},
{
"listId":10,
"projectName":"中行",
"projectVersion":"0.1.2.0"
},
{
"listId":2,
"projectName":"公司",
"projectVersion":"1.1.2.0"
},
{
"listId":3,
"projectName":"学校",
"projectVersion":"2.1.1.0"
},
{
"listId":4,
"projectName":"家",
"projectVersion":"3.1.2.0"
},
{
"listId":5,
"projectName":"朋友",
"projectVersion":"4.1.2.0"
},
{
"listId":6,
"projectName":"啦啦啦",
"projectVersion":"5.1.2.0"
},
{
"listId":7,
"projectName":"哈哈哈",
"projectVersion":"6.1.2.0"
},
{
"listId":8,
"projectName":"嘻嘻嘻",
"projectVersion":"7.1.2.0"
}
];
需要最后得到新的数据
[
{
"listId":10,
"projectName":"中行",
"projectVersion":"0.1.2.0"
},
{
"listId":10,
"projectName":"中行",
"projectVersion":"0.1.2.0"
},
{
"listId":10,
"projectName":"中行",
"projectVersion":"0.1.2.0"
},
{
"listId":10,
"projectName":"中行",
"projectVersion":"0.1.2.0"
}]
解决方案
我是先计数,然后再处理
//计数处理
let opt={};
let namePP="";
node.forEach(function(el,index){
if(!opt[el.projectName]){
opt[el.projectName] = 1;
}else{
opt[el.projectName] += 1;
}
if(opt[el.projectName]>1){
namePP = el.projectName
}
})
let optionsarr=node.filter(function(item){ if(item.projectName == namePP){ return true}})
这篇关于javascript - 怎么获取重复的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文