2016-06-29 31 views
27

我已经浏览了关于这个主题的JavaScript问题,这个问题是关于使用TypeScript的Angular2的具体问题。合并两个对象数组与Angular 2和TypeScript?

我想要做的是将json对象连接到一个数组。

我的代码看起来像这样,

public results: []; 


public getResults(){ 
    this._service.get_search_results(this._slug, this._next).subscribe(
      data => { 
       this.results.concat(data.results); 
       this._next = data.next; 
      }, 
      err => { 
       console.log(err); 
      } 
     ); 
} 

我如何可以连接到data.resultsthis.results打字稿和角?

this._slugthis._next设置在课堂上。

谢谢。

回答

48

我认为你应该宁可以下用途:

data => { 
    this.results = this.results.concat(data.results); 
    this._next = data.next; 
}, 

concatdoc

的concat()方法返回由数组的一个新的阵列上,它被称为与作为参数提供的数组和/或值进行连接。

+0

不幸的是,这不适用于Uint8arrays :( –

0

您还可以使用ES6推荐形式:

data => { 
    this.results = [ 
    ...this.results, 
    data.results, 
    ]; 
    this._next = data.next; 
}, 

这工作,如果你第一次初始化数组(public results = [];);否则请用...this.results ? this.results : [],替换...this.results,

希望这会有帮助