Estoy aprendiendo TypeScript y estoy tratando de crear una colección similar a la siguiente en Java
HashMap<String, List<String>> hashMap = new HashMap<String,List<String>>();No puedo encontrar ningún ejemplo. ¿Es posible hacer esto en Typescript? ¿Hay algo similar a esto?
HashMap contiene solo claves únicas. Entonces puede usar un objeto simple y asignar una matriz a la clave:
let hash = {}; hash["bobtail"] = []; hash["bobtail"].push({ age: 7, name: "miffy" }); console.log(hash) O intente usar Record<Keys, Type> . Como dice la documentación:
Construye un tipo de objeto cuyas claves de propiedad son Claves y cuyos valores de propiedad son Tipo. Esta utilidad se puede utilizar para asignar las propiedades de un tipo a otro tipo.
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" }], };ACTUALIZAR:
Esta es la forma de agregar un elemento a Record<Keys, Type> :
cats["bobtail"].push({ age: 11, name: "miffy" }); Esta es la forma de obtener elementos de Record<Keys, Type> :
const bobtails: CatInfo[] = cats["bobtail"];