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

如何修改映射后的对象数组属性?前端开发技术求助

如何通过修改对象数组为属性添加CSS样式与HTML标签

我只能通过对象数组访问前端页面,必须通过修改这个数组来为属性添加CSS样式和HTML标签,尝试了下面的写法但未达预期:

{children.map((p => {return (
    {
        ...p,
        {...p.props,
        {...p.props.booking,
            ticket_id: <p style={{fontWeight: 600}}>{ticket_id}</p>
        }}
    })}
))} 

问题分析

你的对象展开逻辑存在层级错误:...p.props 和 ...p.props.booking 的写法没有正确覆盖原对象的嵌套属性,直接展开会把props和booking的属性平级放到外层对象,无法正确更新p.props.booking.ticket_id。

修正方案

采用逐层嵌套覆盖的方式更新属性:

{children.map(p => {
  return {
    ...p,
    props: {
      ...p.props,
      booking: {
        ...p.props.booking,
        ticket_id: <p style={{ fontWeight: 600 }}>{p.props.booking.ticket_id}</p>
      }
    }
  };
})}

额外说明

  • 修正ticket_id取值:原代码直接使用未定义的ticket_id变量,改为从当前遍历的对象p.props.booking中取值,避免变量未定义报错。
  • 确认渲染兼容性:需要确保后续页面渲染逻辑支持接收并渲染JSX类型的ticket_id属性,如果原本仅支持字符串渲染,需同步调整渲染逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 21:50:39