在Typescript中这两个数组赋值有什么区别?

Ash*_*ngh 2 javascript typescript ecmascript-6 angular

我正在开发Angular 4应用程序.

我在我的应用程序中找到了以下代码,但无法找到以下代码的确切用途.

getManagementView(groupField: string) {        
    this.auditList = [...this.auditList.filter(this.filterByRevisit)];
  }
Run Code Online (Sandbox Code Playgroud)

我将其更改为以下代码,两者都正常工作.

getManagementView(groupField: string) {        
    this.auditList = this.auditList.filter(this.filterByRevisit);
  }
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我理解上面两个代码块的区别.

Sur*_*yan 5

有不同之处.该价差(...)操作将删除阵列,并给出回来一个,然后在元素一个[]把它们放到再次形成阵列.这实际上是额外的操作.

因此this.auditList.filter(this.filterByRevisit)返回一个数组,这[...this.auditList.filter(this.filterByRevisit)]将返回一个数组,该数组被传播并再次生成一个数组.