【发布时间】:2020-02-02 10:01:30
【问题描述】:
我有以下结构:
this.pronos = [{
"id": 1,
"eventname": "EVENT1",
"round": "EVENT1-1",
"factor": 1,
"matchPassed": 10,
"matchs": [{
"eq1": "EQ1",
"eq2": "EQ2",
"scoreEq1": 0,
"scoreEq2": 3,
"passed": true,
"stats": {
"domicile": 35.29,
"exterieur": 35.29,
"nul": 29.41,
"boosted": 1
},
"date": 20190809,
"friendlyDate": "Vendredi 9 ao\u00fbt 2019 20:45",
"pronos": [{
"matchId": 10,
"userId": 1,
"username": "Marcel",
"points": 0,
"validation": true,
"pronoEq1": 1,
"pronoEq2": 0,
"booster": 0,
"MR": 0
},
...
]
},
...
],
},
...
]
我想保留原始数组并返回这个过滤和映射的数组。
getNextPronos() {
return this.pronos.filter(event => {
return event.matchs
.some(match => {
return match.date >= this.recentDate;
});
})
.map(event => {
event.matchs = event.matchs.filter(match => {
return match.date >= this.recentDate;
});
return event;
}).filter((event) => {
return event.matchs.length > 0;
});
}
我不想声明新数组,因为this.pronos稍后会被修改。
【问题讨论】:
-
FWIW:JSON 是一种用于数据交换的文本表示法。 (More here.) 如果您正在处理 JavaScript 源代码,而不是处理 string,那么您就不是在处理 JSON。
-
所以目前的问题是您正在修改
event对象并且您不想这样做?
标签: json dictionary filter