An array is a common data structure that holds items of the same type, in TypeScript, unlike other languages, an array doesn't have a fixed length. Also, in TypeScript, you don't have to re-organize all elements of an array when makings operations like insert or delete.
Representation
- Elements are the items stored in an array
- Index is the location of an element in an array, it goes from 0 to (array length - 1)
1/** An array can be written like this **/ 2 3const numbers: number[] = [1, 2, 3, 4] 4const names = string[] = ['Snake', 'Ocelot', 'Otacon', 'Naomi'] 5 6/** Also can be written using a generic array type, Array<elemType> **/ 7 8let list: Array<number> = [1, 2, 3, 4] 9let list: Array<string> = ['Snake', 'Ocelot', 'Otacon', 'Naomi']
Basics operations
Traverse - Print all array items one by one
1/** 3 ways to iterate an array **/
2
3for(let i=0; i<array.length; i++) {
4 console.log(array[i])
5}
6
7for(const item of array) {
8 console.log(item)
9}
10
11array.forEach(item => {
12 console.log(item)
13})
Insertion - Add an item
1/** add to the end **/ 2array.push(5) 3 4/** add to the beginning **/ 5array.unshift(0) 6 7/** add in a specific index position **/ 8array.splice(3, 0, 8) // add 8 in the index 3
Deletion - Remove an item
1/** remove from the end **/ 2array.pop() 3 4/** remove from the beginning **/ 5array.shift() 6 7/** remove from a specific index position **/ 8array.splice(2, 1) // remove from index 2
Update - Update an item
1/** update element in position 1 **/ 2array[1] = 7
Search - Search by an item
1/** you can traverse an array to find an element by its value, or simply use the .find() function **/
2
3const item = array.find(item => item === 3) // search by an item with value 3
Strings are arrays of characters
All above operations can be performed on strings to solve problems like count the occurrences of a character in a string:
1let str = "aabbccdd" 2let occurrences = 0 3 4for(let i=0; i < str.length; i++) { 5 if(str[i] === "c") { 6 occurrences++ 7 } 8} 9 10console.log(occurrences) // prints 2