2017-03-05 16 views
-1

型スクリプトMAPでキーを検索するときに何とか大文字小文字を無視できますか? Map.get()メソッドなどのオーバーロードオプションが表示されませんでした。 創造的なアイデアを探しています。大文字小文字を無視Map.get()型スクリプト

+0

ストアすべてのキーを小文字で開始から? –

+0

作成は私のためにカプセル化されています。 –

答えて

0

jsがMapネイティブでこれをサポートしていませんが、例えば、それを自分で行うことができます。

class IgnoreCaseMap<V> extends Map<string, V> { 
    set(key: string, value: V) { 
     return super.set(key.toLocaleLowerCase(), value); 
    } 

    get(key: string): V { 
     return super.get(key.toLocaleLowerCase()); 
    } 
} 

let map = new IgnoreCaseMap<string>(); 
map.set("STRING1", "value 1"); 
map.set("strIng2", "value 2"); 

console.log(map.get("string1")); // value 1 
console.log(map.get("STRING2")); // value 2 
関連する問題