Angular 2 - 在数组中查找实例

Angular 2 - find instance in array

我正在为应用程序构建虚拟登录,我需要在数组中检查用户登录的实例

我有一些模拟数据

import { User } from './user';

export const USERS: User[] = [
  {username: 'Seth', password: 'youwillneverknow'},
  {username: 'Peter', password: 'iforgot'},
  {username: 'Frank', password: 'test123'},
];

我在 user.service 文件中使用的

import { Injectable } from '@angular/core';
import { User } from './user';
import { USERS } from './users.mock';

@Injectable()
export class UserService {
  getUsers(): Promise<User[]> {
    return Promise.resolve(USERS);
  }

  <some method here>

}

并且在我的组件中,我需要编写一个方法来检查用户是否存在于数组中。

  logIn(value: string): void {

  }

字符串值来自我 HTML

中的输入字段

我需要一些关于如何在调用登录函数时检查该用户名实例的输入

要查找数组的实例,请使用:

users.find(x => x.username == value);

这将return USER 数组中具有匹配用户名的对象。如果它不存在,它将 return 未定义。

您也可以使用 findIndex,这将 return 数组中与谓词匹配的项目的索引,如果不存在则为 -1:

users.findIndex(x => x.username == value);

至于有一个用户名和密码列表,这绝对不是推荐的身份验证。我希望您正在为生产应用程序做其他事情。