React JS中如何将API返回的嵌套数组转换为扁平数组格式
解决嵌套数组转扁平数值数组的问题
你当前的核心问题是:API处理后的数组存在嵌套结构,需要转换成和硬编码示例一致的纯数值扁平数组。看你现有的代码,问题出在recoveryTimespan?.map(({ count }) => count)这部分——它返回的是一个数组,被作为单个元素塞进了外层数组,导致嵌套。
只需要用**扩展运算符(...)**把这个嵌套的count数组展开,直接合并到外层数组里即可,修改后的代码如下:
const dataFromApi1 = lostRecoveryInfo?.map( ({ lost, recoveryTimespan, netLost, netRecovered }) => [ lost, // 用扩展运算符把count数组的元素逐个展开到外层数组 ...(recoveryTimespan?.map(({ count }) => count) || []), netLost, netRecovered, ], );
补充说明:
- 加
|| []是为了兼容recoveryTimespan为null或undefined的情况,避免recoveryTimespan?.map返回undefined时,展开运算符触发报错。 - 修改后,每个子数组都会变成纯数值的扁平结构,和你硬编码的
hardcoded数组格式完全匹配。
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

