javascript - Typescript'te değeri Liste olan HashMap
TypeScript öğreniyorum ve Java'daki aşağıdakine benzer bir koleksiyon oluşturmaya çalışıyorum
HashMap<String, List<String>> hashMap = new HashMap<String,List<String>>();
Herhangi bir örnek bulamıyorum. Bunu Typescript'te yapmak mümkün mü? Buna benzer bir şey var mı?
Cevap #1
HashMap yalnızca benzersiz anahtarlar içerir. Bu yüzden basit bir nesne kullanabilir ve anahtara dizi atayabilirsiniz:
let hash = {};
hash["bobtail"] = [];
hash["bobtail"].push({ age: 7, name: "miffy" });
console.log(hash)Ya da Record<Keys, Type> kullanmayı deneyin. Belgelerin dediği gibi:
Özellik anahtarları Keys ve özellik değerleri Type olan bir nesne türü oluşturur. Bu yardımcı araç, bir türün özelliklerini başka bir türe eşlemek için kullanılabilir.
interface CatInfo {
age: number;
name: string;
}
type CatBreed = "bobtail" | "birman" | "maine";
const cats: Record<CatBreed, CatInfo[]> = {
bobtail: [{ age: 7, name: "miffy" }],
birman: [{ age: 8, name: "moorzik" }],
maine: [{ age: 17, name: "mordred" }],
};
GÜNCELLEME:
Bir öğeyi Record<Keys, Type>'e eklemenin yolu şudur:
cats["bobtail"].push({ age: 11, name: "miffy" });
Bu, Record<Keys, Type>'den öğe almanın yoludur:
const bobtails: CatInfo[] = cats["bobtail"];
