Мне нужно отфильтровать массив и получить только уникальные объекты с уникальным идентификатором. Я использую и пример, который я нашел в Интернете 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));
Но я получаю Максимальный размер стека вызовов в консоли. И в Visual Code при наведении курсора на Set я получаю следующее:
'Set относится только к типу, но используется здесь как значение'
и
'Не удается найти массив имен'
В одном посте StackOverFlow предложено изменить на esg в моем файле tsconfig:
{
"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"
]
}
}
Попробовал безрезультатно.