Assosiatiivisten taulukoiden käyttö

TypeScript:
Assosiatiivisten taulukoiden käyttö

Kuinka:

Assosiatiivisten taulukoiden luominen ja käyttäminen TypeScriptissä on suoraviivaista. Tässä perusohjeet:

// Assosiatiivisen taulukon julistaminen
let user: { [key: string]: string } = {};

// Datan lisääminen
user["name"] = "Jane Doe";
user["email"] = "[email protected]";

console.log(user);

Tuloste:

{ name: 'Jane Doe', email: '[email protected]' }

Avain-arvo-parien iterointi on myös helppoa:

for (let key in user) {
    console.log(key + ": " + user[key]);
}

Tuloste:

name: Jane Doe
email: jane@example.com

Ja jos käsittelet sekalaista datatyyppejä, TypeScriptin tyyppijärjestelmä tulee avuksi:

let mixedTypes: { [key: string]: string | number } = {};
mixedTypes["name"] = "John Doe";
mixedTypes["age"] = 30;

console.log(mixedTypes);

Tuloste:

{ name: 'John Doe', age: 30 }

Syväsukellus

TypeScriptissä meidän viittaamat assosiatiiviset taulukot ovat käytännössä olioita. Historiallisesti kielissä kuten PHP:ssä assosiatiiviset taulukot ovat olleet perustyyppi, mutta JavaScript (ja sen laajennus, TypeScript) käyttää tähän tarkoitukseen olioita. Tämä lähestymistapa on sekä vahvuus että rajoitus. Oliot tarjoavat dynaamisen rakenteen merkkijonojen yhdistämiseen arvoihin, mutta niitä ei ole tarkoitettu käytettäväksi ’taulukoina’ perinteisessä mielessä. Esimerkiksi et voi suoraan käyttää taulukkometodeja kuten push tai pop näissä olioissa.

Tapauksissa, joissa tarvitset järjestettyjä avain-arvo-parikokoelmia taulukkomaisilla toiminnoilla, TypeScript (ja moderni JavaScript) tarjoaa Map-objektin:

let userMap = new Map<string, string>();
userMap.set("name", "Jane Doe");
userMap.set("email", "[email protected]");

userMap.forEach((value, key) => {
    console.log(key + ": " + value);
});

Vaikka TypeScriptin tyyppijärjestelmä ja ES6-ominaisuudet, kuten Map, tarjoavat tehokkaita vaihtoehtoja, olioiden käytön ymmärtäminen assosiatiivisina taulukoina on hyödyllistä skenaarioissa, joissa olioliteraalit ovat tehokkaampia tai kun työskentelet JSON-tietorakenteiden kanssa. Kyse on oikean työkalun valitsemisesta tehtävään.