Javascript 数组的动态创建

Javascript 数组的动态创建,javascript,typescript,Javascript,Typescript,我正试图从事件中生成一个请求对象 this.totalEvents作为以下属性 [{proposalNo: "1524472817264", events: Array(1)}] 下面是我创建请求Obj的代码 for (let i = 0; i < this.totalEvents.length; i++) { let j = { "events": this.totalEvents[i].events,

我正试图从事件中生成一个请求对象


this.totalEvents
作为以下属性

[{proposalNo: "1524472817264", events: Array(1)}]
下面是我创建请求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)

问题是,我在JSON中的位置0处得到了这个错误
意外的标记h
从您的代码中不清楚什么是
Obj
变量,但如果它是一个对象,那么您就不能对它使用
push
方法
push()
用于数组。
否则,只需将requestObj记录到控制台,查看它是什么以及为什么它不是有效的json。totalEvents是一个对象,而不是数组。对象没有在代码中显示为
Obj
的纵向对象?请用一个演示问题的示例更新您的问题,最好是一个使用堆栈片段(工具栏按钮)的可运行问题。
[]
obj只是空数组
obj=[]
在哪一行您得到JSON中位置0处的错误
意外标记h?此外,我不明白。你没有改变任何事情。输入和输出对象具有相同的两个键,
events
proposalNo
。基本上你是在把这个.totalEvents复制到Obj中。。。这有什么意义呢?在这种情况下,OP会收到一个错误,比如推送不是一个函数等等。
[
  {
    "events": [
      1524053212499, 1524053003800
    ],
    "proposalNo": 1523036713813
  },  
  {
    "events": [1524056044007],
    "proposalNo": 1523036731774
  }
]