Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   users.filter is not a function (https://javascript.ru/forum/angular/84290-users-filter-not-function.html)

snus71 30.07.2022 18:13

users.filter is not a function
 
Всем доброго дня. Не могу понять где ступил, помогите, плиз. В компоненте есть функция sumbit, срабатывает по кнопке.

export class RegisterComponent implements OnInit {

 users: User[] = []

 constructor(
    public auth: AuthService
  ) { }


submit() {

this.auth.getByNickName(this.form.value.nickname.trim()).subscribe(
      res => {
       this.users = res
      }
    )
}
}

// в AuthService соответственно вытягиваем из базы

getByNickName(nickname: string): Observable<User[]> {
    return this.http.get<User[]>(`${environment.fbDbUrl}/users.json`).pipe(
      map((users:User[]) => users.filter((user: User) => user.nickname === nickname))
    )
  }

В результате в консоли core.mjs:6402 ERROR TypeError: users.filter is not a function :-( Где я что не доглядел? код очевидный вроде бы

Aetae 31.07.2022 08:07

Очевидно, что users, который прилетает от http.get - не имеет метода filter, т.е. не массив. То что ты руками такой тип поставил, реальное положение дел не меняет. Поставь console.log, посмотри что там тебе на самом деле пришло.


Часовой пояс GMT +3, время: 20:59.