【发布时间】:2021-02-18 01:34:35
【问题描述】:
我有一个数组
"datawithisNew": [
{
"exam_name": "MPSC",
"isNew": false
},
{
"exam_name": "MPSC",
"isNew": true
},
{
"exam_name": "UPSC",
"isNew": false
},
{
"exam_name": "RAILWAY",
"isNew": false
},
{
"exam_name": "RAILWAY",
"isNew": false
}]
我正在尝试获得具有唯一 exam_name 的结果,这样如果 exam_name 至少有 1 个 isNew 键为真,则结果对象数组也具有唯一的 exam_name 值,则结果对象应该具有isNew true 的属性,如果不是 false。
预期的结果 -
"datawithisNew": [
{
"exam_name": "MPSC",
"isNew": true
},
{
"exam_name": "UPSC",
"isNew": false
},
{
"exam_name": "RAILWAY",
"isNew": false
}]
我使用的代码是-
var helper1 = {};
var result2 = data12.reduce(function(r, o) {
var key = o.exam_name ;
if(!helper1[key]) {
helper1[key] = Object.assign({}, o); // create a copy of o
r.push(helper1[key]);
} else {
helper1[key].exam_name_rating += o.exam_name_rating;
}
return r;
}, []);
但这只是返回唯一的exam_name 对象我还需要isNew 键,如果它至少出现一次true 对于exam_name 它应该有isNew:true 为真,否则isNew:false
【问题讨论】:
-
请分享您的代码,以及您在尝试解决它时遇到的问题
标签: javascript arrays sorting object javascript-objects