Я использовал для объединения двух наблюдаемых в одну, а затем получал единственные уникальные значения, поэтому после:
const latest = combineLatest(...queryResults, (...arrays) => arrays.reduce((
acc: any,
array: any
) => [...acc, ...array], []));
У меня есть массив с:
0: {id: "id1", categories: Array(1), value: "Stadium"}
1: {id: "id2", categories: Array(2), value: "ball"}
2: {id: "id3", categories: Array(2), value: "ball"}
3: {id: "id4", categories: Array(1), value: "Woman"}
4: {id: "id5", categories: Array(2), value: "head"}
и после
return latest.pipe(
map(words => {
return words.reduce((unique, o) => {
if (!unique.some(obj => obj.id === o.id)) {
unique.push(o);
}
return unique;
}, []);
})
);
результат:
0: {id: "id1", categories: Array(1), value: "Stadium"}
1: {id: "id2", categories: Array(2), value: "ball"}
2: {id: "id4", categories: Array(1), value: "Woman"}
3: {id: "id5", categories: Array(2), value: "head"}
и все в порядке. Работает нормально. Мой вопрос связан с ошибкой консоли:
ERROR in src/app/core/services/learning.service.ts(137,22): error TS2339: Property 'reduce' does not exist on type '{}'.
Строка 137 -> return words.reduce ((уникально, o) => {...
Как это исправить?