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"];

İlgili makaleler