我有一個 json,需要將資料提取到陣列中。
const data = [{
"week": 1,
"lost": 10,
"recovery_timespan": [{
"week": 2,
"count": 1
}, {
"week": 3,
"count": 0
}],
"netLost": 10,
"netReturned": 20
}, {
"week": 2,
"lost": 7,
"recovery_timespan": [{
"week": 3,
"count": 1
}],
"netLost": 30,
"netReturned": 200
}, {
"week": 3,
"lost": 8,
"recovery_timespan":"",
"netLost": 50,
"netReturned": 40
}];
預期輸出:丟失,在 recovery_timespan 中計數,netLost ,netReturned。
[ [ 10, 1, 0, 10, 20 ], [ 7, 1, 30, 200 ], [ 8, 50, 40 ] ]
正如您所看到的預期輸出,最后一個 recovery_timespan 不包含任何資料,它只顯示為“”。所以我需要忽略它。
我的做法:
const result = data.map(({lost, recovery_timespan,netLost,netReturned}) => [
lost,
...recovery_timespan.map(({count}) => count),
netLost,netReturned
]);
當“recovery_timespan”為“”時,我的代碼會中斷。如何添加過濾器和地圖以過濾該部分并使我的代碼正常作業?
uj5u.com熱心網友回復:
這只是檢查它是否是字串的問題,但你可以短路
const result = data.map(({lost, recovery_timespan,netLost,netReturned}) => [
lost,
...(recovery_timespan || []).map(({count}) => count),
netLost,netReturned
]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/513610.html
上一篇:Python如何使用與常規集相同的API獲得有序集?
下一篇:按大陸將資料框轉換為字典
