2017-01-23 7 views
1

typescriptとaureliaで配列をフィルタリングしようとしていますが、空のリストしか取得できません。空のリストを返すtypescriptフィルタ

私はraのキーワードを持っていると私は(「ラジャ」の名前で)最初のオブジェクトを持つことを期待firstNameプロパティに検索する場合は、返されました。私は何が欠けているのか理解していないのですか?

以下はcontactオブジェクトの配列です。

let contacts = [ 
    { 
    id:getId(), 
    firstName:"Raja", 
    lastName:"Mani", 
    email:"[email protected]", 
    phoneNumber:"408-973-5050", 
    birthDate: new Date(1973, 5, 1) 
    }, 
    { 
    id:getId(), 
    firstName:"Jhansi", 
    lastName:"Rani", 
    email:"[email protected]", 
    phoneNumber:"867-5309", 
    birthDate: new Date(1970, 5, 24) 
    }, 
    { 
    id:getId(), 
    firstName:"Aditi", 
    lastName:"Raja", 
    email:"[email protected]", 
    phoneNumber:"408-973-9006", 
    birthDate: new Date(2001, 10, 12) 
    }   
]; 

これらのオブジェクトは、インタフェースIContact

export interface IContact { 
    id: number; 
    firstName: string; 
    lastName: string; 
    email: string; 
    phoneNumber: string; 
    birthDate: Date; 
} 

を持っており、これが私のフィルタクエリindexOfとして

let results = contacts.filter((c: IContact) => ((c.firstName.indexOf(keyword) !== -1))); 
+2

i "Raja" .indexOf( 'ra')=== -1/"Raja" .indexOf( 'Ra')=== 0 – rogeriolino

+0

これはangularjsと何が関係していますか? – Claies

答えて

4

は、あなたが比較する前に、両方のケースを変換する必要がある大文字と小文字が区別されます。

c.firstName.toUpperCase().indexOf(keyword.toUpperCase()) !== -1 
関連する問題