javascript - Verificar se o objeto contém string em TypeScript
No meu TypeScript eu tenho esta classe:
export class PhoneBookPerson {
Email: string;
Name: string;
Phonenumber: string;
ProfileImg: string;
Department: string;
JobTitle: string;
Username: string;
}
Estou me perguntando como posso verificar se alguma das propriedades contém um valor específico.
let $SearchTerm = target.val();
function RetrievedUsers(sender: any, args: any) {
for (let i = 0; i < users.get_count(); i++) {
let user = users.getItemAtIndex(i);
let person = new PhoneBookPerson();
person.Name = user.get_loginName();
person.Email = user.get_email();
person.Username = user.get_loginName();
person.JobTitle = user.get_title();
<-- search of person contains value from $SearchTerm
usermatch.push(person);
}
}
Resposta #1
Itere sobre as propriedades do objeto e verifique se alguma delas contém o texto especificado.
Função de exemplo para fazer isso (eu assumo apenas propriedades de string no objeto)
function objectContains(obj, term: string): boolean {
for (let key in obj){
if (obj[key].indexOf(term) != -1) return true;
}
return false;
}
Exemplo de uso
if (objectContains(person, $SearchTerm)) {
// do something
}
