我正在尝试迭代并观察到的对象。
问题是我收到消息“ {E}”不存在属性“ forEach”。
userValidator(): AsyncValidatorFn {
return (control: AbstractControl): Observable<{ [key: string]: any } | null> => {
return this.un.unidades.pipe(
map(res => {
res.forEach(element => {
// Here it fails!! It says Property 'forEach' does not exist on type '{}'.
});
console.log(res) // Array of objects
console.log(typeof(res)) // Output: object
})
)
};
如果我尝试对每个方法使用可观察的方法,那么它会起作用。 但是当我使用pipe(map)时,不会。
如何遍历对象?
答案 0 :(得分:0)
我不是100%肯定,但是看着可观察对象的界面,似乎它是一个对象,其属性是对象数组。错误也指出了这一点。如果我们可以看到控制台日志的结果。
尝试记录res.length以确保它是一个数组,尽管我想它会说对象上不存在length。
如果是对象,则必须迭代键或使用Object.values(res).forEach然后迭代数组。