![](/img/trans.png)
[英]How to find a specific value inside nested object in Javascript
[英]How to find specific data in nested object structure in Javascript?
我分享了一段代碼,展示了我有兩種類型的response
。 如果您查看下面的代碼,您會發現服務結果的response
會略有不同。 在第一種類型中,您只有一個data
,但在第二種類型中,該data
本身有另一個data
。
{
"data": {
"hasError": false,
"developerMessage": null,
"totalCount": 43
},
"hasError": false,
"developerMessage": null
}
或者:
{
"data": {
"hasError": false,
"developerMessage": null,
"data": {
"hasError": false,
"developerMessage": null,
"totalCount": 43
},
"totalCount": 43
},
"hasError": false,
"developerMessage": null
}
所以為了處理這個困境,我必須首先檢查response
的結果並將其分成兩個塊。 最大的問題是由於我無法在這里解釋的原因,這個層次結構可能會擴展並且我有三個數據,但我們可以肯定的是response
中的data
總是最深的。 (本例中的第三項)
return this.httpWrapperService.get(url + tableNameWithSlash, {
params: params, additionalOptions: {spinnerEnabled: false}
}).then((result: any) => {
if (result.data.data) {
// code
return [...result.data.data];
}
else if (result.data) {
// code
return [...result.data];
}
});
我想知道是否有更好的解決方案來處理這種動態response
。
您可以使用遞歸來制作適用於任何深度的解決方案,例如數據位於第 4 層
.then((result: any) => {
const findData = (response: any) => {
return response.data ? findData(response.data):response;
}
return [...findData(result.data)];
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.