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

动态创建数组:基于totalEvents构建请求对象的技术问询

优化请求对象构建的实现方案

嘿,看起来你已经找对了方向!你的代码确实能将this.totalEvents转换成你期望的请求格式,不过我们可以用更简洁、更符合现代JS风格的方式来实现,同时保证输出完全匹配你的需求。

你的原始实现代码

let Obj = []; // 补充:这里需要先初始化数组避免未定义错误
for (let i = 0; i < this.totalEvents.length; i++) { 
  let j = { 
    "events": this.totalEvents[i].events, 
    "proposalNo": this.totalEvents[i].proposalNo 
  } 
  Obj.push(j); 
} 
let requestObj = JSON.stringify(Obj)

更简洁的优化实现

我们可以用Array.map()方法替代for循环,代码更紧凑且可读性更强:

// 直接生成目标数组并转成JSON字符串
const requestObj = JSON.stringify(
  this.totalEvents.map(item => ({
    events: item.events,
    proposalNo: item.proposalNo
  }))
);

匹配示例的数字类型proposalNo(可选)

如果你的期望输出中proposalNo是数字类型(示例里的proposalNo为数字),而原始数据里是字符串格式,可以在转换时做类型转换:

const requestObj = JSON.stringify(
  this.totalEvents.map(item => ({
    events: item.events,
    proposalNo: Number(item.proposalNo) // 将字符串转为数字
  }))
);

输出效果验证

假设你的this.totalEvents是:

[{proposalNo: "1524472817264", events: [1524053212499]}]

优化后的代码会生成如下JSON(和你的示例格式完全一致):

[
  { "events": [1524053212499], "proposalNo": 1524472817264 }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:27:29