typescript angular2:如何将数组附加到数组中的每个对象?

时间:2017-06-12 06:34:10

标签: angular typescript angular2-services

我有一个包含JSON格式数据的REST API。我将它存储在一个对象数组中。但我想为每个对象附加一个NEW EMPTY数组。我无法做到。 这是我的REST API的样子。我在评论中标记了我想为每个对象添加的新数组。

       content = [
          {
            text: 'abc',
            options: [
                {
                  Id: 1,
                  Text: 'aaa'
                },
                {
                  Id: 2,
                  Text: 'bbb'
                },
                {
                  Id: 3,
                  Text: 'ccc'
                }],
// ARRAY[]

    },
          {
            text: 'def',
            options: [
                {
                  Id: 21,
                  Text: 'qwerty'
                },
                {
                  Id: 22,
                  Text: 'zxcv'
                },
                {
                  Id: 23,
                  Text: 'asdf'
                }],
    // ARRAY[]
          }
      }]

这是我尝试过的。

public newarr:Array<any>;
this.httpservice.post('RESTUrl').subscribe(resp=>{
     this.contents = resp.data;
     this.contents.forEach((x:any)=>{
       x.push(this.newarr);
     });
     console.log("contents",this.contents);
      });

2 个答案:

答案 0 :(得分:1)

看起来你正试图将一个数组推到一个对象上,它应该是x.NewArray = this.newarr或其他东西。

答案 1 :(得分:1)

您只需使用点表示法即可添加。

this.httpservice.post('RESTUrl').subscribe(resp=>{
   this.contents = resp.data;
   this.contents.forEach((x:any)=>{
     x.<value_name> = this.newarr;
   });
   console.log("contents",this.contents);
});

这样它会将您的变量追加到Array。