通过ID

时间:2019-06-19 23:56:10

标签: angular typescript ecmascript-6

我需要过滤一个数组,并且只获取具有唯一ID的唯一对象。我使用的是我在网上找到的示例,https://dev.to/vuevixens/removing-duplicates-in-an-array-of-objects-in-js-with-sets-3fep

我正在使用以下代码:

allItin = [id: string, dateRange: [int], jobCode: string, act: [string], date: string, userId: string 
]

There are duplicate records in allItin as a result of the limitations of firebase queries.
this.filteredItineraries = Array.from(new Set(allItin.map(a => a.id)))
  .map(id => allItin.find(a => a.id === id));

console.log('unique', this.getUnique(this.filteredItineraries));

但是我在控制台中获得了最大调用堆栈大小。当我将鼠标悬停在Set上时,在Visual Code中得到以下信息:

“设置仅引用一种类型,但在此处被用作值”

“找不到名称数组”

一个StackOverFlow帖子建议在我的tsconfig文件中更改为esg:

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "module": "es2015",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "importHelpers": true,
    "target": "es6",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  }
}

对此一无所获。

0 个答案:

没有答案