【发布时间】:2022-01-05 03:16:45
【问题描述】:
处理响应数据后,我在 React-Native 中得到了一个如下所示的数组
[{
"children": [],
"data": {
"catCd": "C000000146",
"catGrpCd": "CG00000135",
"catNames": [Array],
"catNm": "Game Design",
"parentCatCd": "C000000143",
"parentCatCdPath": "C000000143.C000000146",
"usedFlag": true
},
"hasChildren": false,
"id": "C000000146",
"key": "C000000146",
"sortOrder": 3
}, {
"children": ["C000000144", "C000000145", "C000000146"],
"data": {
"catCd": "C000000143",
"catGrpCd": "CG00000135",
"catNames": [Array],
"catNm": "Design",
"parentCatCd": null,
"parentCatCdPath": "C000000143",
"usedFlag": true
},
"hasChildren": true,
"id": "C000000143",
"key": "C000000143",
"sortOrder": 1
}, {
"children": ["C000000166"],
"data": {
"catCd": "C000000144",
"catGrpCd": "CG00000135",
"catNames": [Array],
"catNm": "3D & Animation",
"parentCatCd": "C000000143",
"parentCatCdPath": "C000000143.C000000144",
"usedFlag": true
},
"hasChildren": true,
"id": "C000000144",
"key": "C000000144",
"sortOrder": 1
}, {
"children": [],
"data": {
"catCd": "C000000166",
"catGrpCd": "CG00000135",
"catNames": [Array],
"catNm": "Depth1",
"parentCatCd": "C000000144",
"parentCatCdPath": "C000000143.C000000144.C000000166",
"usedFlag": true
},
"hasChildren": false,
"id": "C000000166",
"key": "C000000166",
"sortOrder": 1
}, {
"children": [],
"data": {
"catCd": "C000000145",
"catGrpCd": "CG00000135",
"catNames": [Array],
"catNm": "Design Tools",
"parentCatCd": "C000000143",
"parentCatCdPath": "C000000143.C000000145",
"usedFlag": true
},
"hasChildren": false,
"id": "C000000145",
"key": "C000000145",
"sortOrder": 2
}, {
"children": [],
"data": {
"catCd": "C000000167",
"catGrpCd": "CG00000135",
"catNames": [Array],
"catNm": "Design 01",
"parentCatCd": null,
"parentCatCdPath": "C000000167",
"usedFlag": true
},
"hasChildren": false,
"id": "C000000167",
"key": "C000000167",
"sortOrder": 1
}, {
"children": ["C000000143", "C000000167"],
"data": null,
"hasChildren": true,
"id": "C000000095",
"key": "C000000095",
"sortOrder": 0
}]
最后我想过滤并获取所有具有 parentCatCD 的元素:null。因为我是新来的反应并且尝试了很多但没有任何效果。 (map, filter, some, etc ...),当我尝试过滤它们时,我总是得到 undefined is not an object 错误。
我该如何解决这个问题?
我的代码:
function filterData(arr: any) {
let newArray = arr.filter(function(item:any){
return item.data['parentCatCd'] == null;
}).map(function({data} : {data:any}){
return {data};
});
}
错误:null 不是对象(评估 'item.data['parentCatCd'])
【问题讨论】:
标签: reactjs react-native