我想搜索和删除重复的项目
[
{
"id":"1",
"rawId":"1",
"displayName":"Asd",
"name":{
"givenName":"Asd",
"formatted":"Asd"
},
"nickname":null,
"phoneNumbers":[
{
"id":"1",
"pref":false,
"value":"213213 414 86 86",
"type":"mobile"
}
],
"emails":null
},
{
"id":"2",
"rawId":"2",
"displayName":"Bbb",
"name":{
"givenName":"Bbb",
"formatted":"Bbb"
},
"nickname":null,
"phoneNumbers":[
{
"id":"3",
"pref":false,
"value":"565 65 65 123123",
"type":"mobile"
}
],
"emails":null
},
{
"id":"3",
"rawId":"3",
"displayName":"Ccc",
"name":{
"givenName":"Ccc",
"formatted":"Ccc"
},
"nickname":null,
"phoneNumbers":[
{
"id":"5",
"pref":false,
"value":"123 14 40 111",
"type":"mobile"
}
],
"emails":null,
},
{
"id":"6",
"rawId":"6",
"displayName":"Nube",
"name":{
"givenName":"Nube",
"formatted":"Nube"
},
"nickname":null,
"phoneNumbers":[
{
"id":"13",
"pref":false,
"value":"111 22 33",
"type":"mobile"
}
],
"emails":null
},
{
"id":"8",
"rawId":"6",
"displayName":"Nube",
"name":{
"givenName":"Nube",
"formatted":"Nube"
},
"nickname":null,
"phoneNumbers":[
{
"id":"13",
"pref":false,
"value":"111 22 33",
"type":"mobile"
}
],
"emails":null
}
]
在这个例子中,最后一项是重复的,如果“name.formatted”和“name.phoneNumbers[0].value”,我想在该对象数组中搜索,删除一个项目,因为是相同的。
结果
enter code here
[
{
"id":"1",
"rawId":"1",
"displayName":"Asd",
"name":{
"givenName":"Asd",
"formatted":"Asd"
},
"nickname":null,
"phoneNumbers":[
{
"id":"1",
"pref":false,
"value":"213213 414 86 86",
"type":"mobile"
}
],
"emails":null
},
{
"id":"2",
"rawId":"2",
"displayName":"Bbb",
"name":{
"givenName":"Bbb",
"formatted":"Bbb"
},
"nickname":null,
"phoneNumbers":[
{
"id":"3",
"pref":false,
"value":"565 65 65 123123",
"type":"mobile"
}
],
"emails":null
},
{
"id":"3",
"rawId":"3",
"displayName":"Ccc",
"name":{
"givenName":"Ccc",
"formatted":"Ccc"
},
"nickname":null,
"phoneNumbers":[
{
"id":"5",
"pref":false,
"value":"123 14 40 111",
"type":"mobile"
}
],
"emails":null,
},
{
"id":"6",
"rawId":"6",
"displayName":"Nube",
"name":{
"givenName":"Nube",
"formatted":"Nube"
},
"nickname":null,
"phoneNumbers":[
{
"id":"13",
"pref":false,
"value":"111 22 33",
"type":"mobile"
}
],
"emails":null
}
]
一项“Nube”项目被删除。
认为在这个数组中将有大约 700 个对象和 40-60 个项目是重复的(同名和同名电话)。
有什么想法可以有效地做到这一点吗?
非常感谢
在 underscore-library ( http://underscorejs.org/#uniq ) 中使用带有迭代函数的uniq- function。
var result = _.uniq(yourArray, function(item){
return item.phoneNumbers && item.name.formatted
})
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句