我需要过滤一个数组,并且只获取具有唯一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"
]
}
}
对此一无所获。