You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Switch case中按ID更新数组单条数据时出现多余嵌套数组问题

问题原因

你在map遍历的回调逻辑中,_id不匹配的分支错误返回了完整的state.data数组,而非当前遍历到的单条原始数据p,导致所有未匹配_id的位置都被替换成了整个原数组,最终出现多层数组嵌套的异常结果。

修复方案

直接将不匹配分支的返回值改为当前遍历项p即可,修正后代码如下:

case UpdateOneBank:
  return {
    ...state,
    data: state.data.map((p) => p._id === action.data._id ? action.data : p)
  }
逻辑说明

map方法会逐一遍历原始data数组的每一项:

  • 匹配到对应_id的条目时,替换为新的action.data
  • 未匹配的条目直接返回原始的单条数据p,不会产生嵌套,也不会改动其他未匹配的记录

内容的提问来源于stack exchange,提问作者Frallen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:45:02