方法一:
var arrObj = [{
"name": "ZYTX",
"age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
"gender": "AAAAAA.doc"
}, {
"name": "ZYTA",
"age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
"gender": "BBBBBB.doc"
}, {
"name": "ZDTX",
"age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
"gender": "CCCCCC.doc"
}, {
"name": "ZYTX",
"age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
"gender": "AA.doc"
}];
var hash = {};
arrObj = arrObj.reduce(function(item, next) {
hash[next.name] ? '' : hash[next.name] = true && item.push(next);
return item
}, [])
console.log(arrObj);
方法二:
var arr1 = [{x:513.4261838440111,y:222},
{x:270.3404255319149,y:174},
{x:513.4261838440111,y:111},
{x:520.5167237931058,y:369.80798782499784},
{x:520.5167237931058,y:369.80798782499784},
{x:241.57929926401988,y:381.9650668601638},
{x:270.3404255319149,y:174},
{x:241.5792992640199,y:381.9650668601638}
]
var kv = {};
for (var i = 0; i < arr1.length;) {
if (kv[arr1[i].x]) {
arr1.splice(i, 1);
}
else {
kv[arr1[i].x] = true;
i++;
}
}
console.log(arr1)
方法三:获取id唯一的age为最大的数据
思路:先排序,让id相同,age最大的在最开始位置,然后删除相同数据
var arr3 = [
{'id':1,'name':'zs','age':18},
{'id':1,'name':'zs','age':2},
{'id':1,'name':'zs','age':90},
{'id':2,'name':'lisi','age':23},
{'id':2,'name':'lisi','age':10},
{'id':2,'name':'lisi','age':88},
{'id':2,'name':'lisi','age':26},
{'id':3,'name':'lisi','age':45},
{'id':3,'name':'lisi','age':11}
]
arr3.sort(compare('age'));
var hash={};
for(var i=0;i<arr3.length;){
if(hash[arr3[i].id]){
arr3.splice(i,1);
}else{
hash[arr3[i].id] = true;
i++;
}
}
console.log(arr3)
排序
var arr = [
{'name':'dw','age':18},
{'name':'zdw','age':22},
{'name':'final','age':12}
]
function objSort(obj1,obj2){
var val1 = obj1.age;
var val2 = obj2.age;
if(val1>val2){
return 1;
}else if(val1<val2){
return -1;
}else{
return 0;
}
}
arr.sort(objSort())