Typescript 如何按父对象的子对象id筛选父对象?
我得到的后端响应如下:Typescript 如何按父对象的子对象id筛选父对象?,typescript,angular7,ecmascript-5,ngrx-store,Typescript,Angular7,Ecmascript 5,Ngrx Store,我得到的后端响应如下: { "ReturnModel": { "Id": 20, "Name": "tserror.JPG,typeIssue.JPG", "Description": "testing", "SubjectId": 100001, "SubjectTypeId": 100001, "SubjectLevelId": 100001, "SubjectOptionId": 100001, "LanguageId":
{
"ReturnModel": {
"Id": 20,
"Name": "tserror.JPG,typeIssue.JPG",
"Description": "testing",
"SubjectId": 100001,
"SubjectTypeId": 100001,
"SubjectLevelId": 100001,
"SubjectOptionId": 100001,
"LanguageId": 100001,
"BlobFileUpload": [
{
"FileId": 27,
"FileName": "tserror_20190410110826.JPG",
"FileDescription": "Upload",
"CourseId": 20,
"CourseFileUpload": null
},
{
"FileId": 28,
"FileName": "typeIssue_20190410110826.JPG",
"FileDescription": "Upload",
"CourseId": 20,
"CourseFileUpload": null
}
]
}
}
根据上面的json值,我需要从父对象的BlobFileUpload-FileId中筛选父对象。为此,我尝试了以下方法,但没有效果。有人给我建议正确的方法吗
case fileActions.RemoveFileSuccess.TYPE :
const fileId = (<fileActions.RemoveFileSuccess>action).payload.Id;
return {
...state,
uploadedFiles : state.uploadedFiles.filter(file => file.BlobFileUpload.filter(blob => blob.FileId !== fileId))
}
我想您需要的是state.uploadedFiles.filterfile=>file.BlobFileUpload.someblob=>blob.FileId!==文件ID
检查数组中的任何项对于提供的谓词是否真实,并返回布尔值
需要一个返回布尔值的谓词,但筛选器本身返回一个数组,且数组始终为真。这就是为什么它没有为你过滤