Greetings, future TypeScript Voyager! Today, we're plunging into the cosmos of tuples and arrays within TypeScript. In programming terms, a tuple is like a box filled with different star samples — they are ordered, and different elements can be of distinct types. By the end of this lesson, we will be equipped to design, access, and maneuver TypeScript tuples and arrays proficiently.
Visualize a tuple, or an array, as a star system in which each celestial body bears a distinctive characteristic. Here are a couple of methods to craft this cosmic system:
- Using brackets for arrays:
TypeScript1// Define array of first four planets 2let planets: string[] = ["Mercury", "Venus", "Earth", "Mars"]; 3console.log(planets); // Prints: ["Mercury", "Venus", "Earth", "Mars"]
- Using brackets with a specific tuple type for tuples:
TypeScript1// Define tuple with planet and its position 2let earth: [string, number] = ["Earth", 3]; 3console.log(earth); // Prints: ["Earth", 3]
Both techniques efficiently generate a tuple or array; opt for the one that best suits your needs!
Indexes in tuples and arrays are like galactic maps. Each element in a tuple/array has an index that starts from 0
.
TypeScript1// Access third planet in the array 2console.log(planets[2]); // Prints: "Earth" 3 4// Access first planet in the array 5console.log(planets[0]); // Prints: "Mercury" 6 7// Find the index of 'Mars' 8console.log(planets.indexOf("Mars")); // Prints: 3
The .indexOf()
method helps us pinpoint the index of "Mars"
within the planets
array.
Measuring the length of a tuple or list can be likened to gauging the distance between galaxies. TypeScript uses the .length
property for this purpose:
TypeScript1// Checks the number of planets in the array 2console.log(planets.length); // Prints: 4
It couldn't be simpler!
Just as celestial entities may influence their cosmic coordinates, the elements within a tuple/array can be altered. We can substitute, append, or edit items inside our tuples or arrays.
TypeScript1// Replace "Venus" with "Cybertron" 2planets[1] = "Cybertron"; 3console.log(planets); // Prints: ["Mercury", "Cybertron", "Earth", "Mars"]
In the aforementioned instance, we replaced "Venus"
(the second item at index 1) with "Cybertron". It's that effortless indeed!
Wish to modify a value rather than completely replacing it? We can extract the item, perform our revisions, and then place it back into the tuple.
TypeScript1// Append the string " - the Red Planet" to "Mars" 2planets[3] += " - the Red Planet"; // using the += operator to augment to the element 3console.log(planets); // Prints: ["Mercury", "Cybertron", "Earth", "Mars - the Red Planet"]
In this example, we augmented the "Mars"
element in the array by appending an additional string to it. As a result, "Mars"
was replaced by "Mars - the Red Planet"
.
Altering tuples and arrays is a common operation in TypeScript. Hence, understanding how to reassign and alter elements is crucial for TypeScript developers!
Two significant functions for interacting seamlessly with our array are - push(element)
and pop()
.
push(element)
adds theelement
to the end of the array.pop()
removes the last element of the array, returning it as a result.
For illustration - we will add "Pluto"
using .push()
and then remove it with .pop()
:
TypeScript1// Append 'Pluto' to the array 2planets.push("Pluto"); 3console.log(planets); // Prints: ["Mercury", "Cybertron", "Earth", "Mars - the Red Planet", "Pluto"] 4 5// Extract 'Pluto' from the array 6let pluto = planets.pop(); 7console.log(pluto); // Prints: "Pluto" 8console.log(planets); // Prints: ["Mercury", "Cybertron", "Earth", "Mars - the Red Planet"]
In this process, you've learned how to append and remove array elements using .push()
and .pop()
, respectively.
Cheers to you! You've journeyed through the vastness of TypeScript tuples and arrays, mastering how to design them, pinpoint elements by index, and perform fundamental operations. Proceed to the subsequent modules that will fortify your understanding of these concepts. Brace yourself — your cosmic code awaits!