我有这样的 json 数组,
daysdif = [{
"EmployeeID": "213654654",
"DaysDiff": "NaN"
}, {
"EmployeeID": "String",
"DaysDiff": "NaN"
}, {
"EmployeeID": "6021240",
"DaysDiff": "-63.30"
}, {
"EmployeeID": "6011327",
"DaysDiff": "-35.67"
}, {
"EmployeeID": "883",
"DaysDiff": "-63.40"
}, {
"EmployeeID": "1183",
"DaysDiff": "-70.13"
}, {
"EmployeeID": "1240",
"DaysDiff": "-70.97"
}, {
"EmployeeID": "2293",
"DaysDiff": "-63.30"
}, {
"EmployeeID": "5001839",
"DaysDiff": "-8.47"
}, {
"EmployeeID": "5001839",
"DaysDiff": "-22.20"
}, {
"EmployeeID": "5001839",
"DaysDiff": "-23.77"
}, {
"EmployeeID": "5001839",
"DaysDiff": "-41.67"
}, {
"EmployeeID": "5001839",
"DaysDiff": "-63.97"
}, {
"EmployeeID": "3395",
"DaysDiff": "-68.00"
}, {
"EmployeeID": "2473",
"DaysDiff": "-66.20"
}, {
"EmployeeID": "1075",
"DaysDiff": "-70.17"
}, {
"EmployeeID": "2947",
"DaysDiff": "-69.10"
}, {
"EmployeeID": "5002196",
"DaysDiff": "-4.97"
}, {
"EmployeeID": "5002196",
"DaysDiff": "-39.23"
}, {
"EmployeeID": "5002196",
"DaysDiff": "-58.73"
}, {
"EmployeeID": "1688",
"DaysDiff": "-67.40"
}, {
"EmployeeID": "2031",
"DaysDiff": "-54.07"
}, {
"EmployeeID": "1484",
"DaysDiff": "-69.17"
}, {
"EmployeeID": "1022",
"DaysDiff": "-69.40"
}]
此 JSON 数组中有重复的值,例如,
[{
"EmployeeID": "5001839",
"DaysDiff": "-8.47"
}, {
"EmployeeID": "5001839",
"DaysDiff": "-22.20"
}, {
"EmployeeID": "5001839",
"DaysDiff": "-23.77"
}, {
"EmployeeID": "5001839",
"DaysDiff": "-41.67"
}, {
"EmployeeID": "5001839",
"DaysDiff": "-63.97"
}]
我需要保留最高的 DaysDiff 值(此处为 -8.47)并删除其他重复项。
最佳答案
这是我如何使用 underscore.js
实现的,
json_data = [
{
"EmployeeID": "213654654",
"DaysDiff": "NaN"
},
{
"EmployeeID": "String",
"DaysDiff": "NaN"
},
{
"EmployeeID": "6021240",
"DaysDiff": "-63.30"
},
{
"EmployeeID": "6011327",
"DaysDiff": "-35.67"
},
{
"EmployeeID": "883",
"DaysDiff": "-63.40"
},
{
"EmployeeID": "1183",
"DaysDiff": "-70.13"
},
{
"EmployeeID": "1240",
"DaysDiff": "-70.97"
},
{
"EmployeeID": "2293",
"DaysDiff": "-63.30"
},
{
"EmployeeID": "5001839",
"DaysDiff": "-8.47"
},
{
"EmployeeID": "5001839",
"DaysDiff": "-22.20"
},
{
"EmployeeID": "5001839",
"DaysDiff": "-23.77"
},
{
"EmployeeID": "5001839",
"DaysDiff": "-41.67"
},
{
"EmployeeID": "5001839",
"DaysDiff": "-63.97"
},
{
"EmployeeID": "3395",
"DaysDiff": "-68.00"
},
{
"EmployeeID": "2473",
"DaysDiff": "-66.20"
},
{
"EmployeeID": "1075",
"DaysDiff": "-70.17"
},
{
"EmployeeID": "2947",
"DaysDiff": "-69.10"
},
{
"EmployeeID": "5002196",
"DaysDiff": "-4.97"
},
{
"EmployeeID": "5002196",
"DaysDiff": "-39.23"
},
{
"EmployeeID": "5002196",
"DaysDiff": "-58.73"
},
{
"EmployeeID": "1688",
"DaysDiff": "-67.40"
},
{
"EmployeeID": "2031",
"DaysDiff": "-54.07"
},
{
"EmployeeID": "1484",
"DaysDiff": "-69.17"
},
{
"EmployeeID": "1022",
"DaysDiff": "-69.40"
}
]
grp_json = _.groupBy(json_data, "EmployeeID")
new_list = []
_.each(grp_json, function(i) {
get_max = _.max(i, "DaysDiff")
if( get_max == -Infinity) {
new_list.push(i[0])
}
else {
new_list.push(get_max)
}
})
console.log('new_list', new_list)
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
关于javascript - 如何从 JSON 数组中删除重复的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44537953/