JavaScript Arrays
2018-03-18
Here is everything I know about JavaScript arrays so far. This post will get updated the more that I learn.
In this post:
- Create an array
 - Access an array
 - Loop over an array
 - Add to an array
 - Remove from an array
 - Find the index of an array item
 - Copy an array
 - Nested arrays
 - Array of objects
 
Create an array
let alphabet = []              # array literal notation
let alphabet = ["A"]           # declared/initialized array
let alphabet = ["A", "B", "C"] # a three item array
Access an array using an index; arrays are zero-indexed
# starting array
let alphabet = ["A", "B", "C"]
alphabet[0]     # output: A, the first index is always index = 0
alphabet[1]     # output: B
alphabet[2]     # output: C
alphabet[3]     # output: D is an invalid index because the array item does not exist
Loop over an array: for-loop, forEach loop
# starting array
let alphabet = ["A", "B", "C"]
# for loop
for (let i = 0; i < alphabet.length; i++) {
  console.log(alphabet[i])
}
# forEach loop
alphabet.forEach((item) => console.log(item))
Add to an array
# starting array
let alphabet = ["A", "B", "C"]
alphabet.unshift('Z')           # add item to the start
                                # result: ["Z,""A", "B", "C"]
alphabet.push('D')              # add item to the end 
                                # result: ["Z", "A", "B", "C", "D"]
Remove from an array
# starting array
let alphabet = ["Z", "A", "B", "C", "D"]
alphabet.shift()        # remove the first item
                        # result: ["A", "B", "C", "D"]
alphabet.pop()          # remove the last item
                        # result: ["A", "B", "C"]
Find the index of an array item
# starting array
let alphabet = ["A", "B", "C"]
alphabet.indexOf("B")           # output: index is 1
Nested arrays
# starting array
let nested = [
  [1, 2, "A"],
  [3, 4, 5, "B"],
  [6, 7, 8],
  [9, "C"]
]
# access the array
nested[0][2]    # output: A
nested[1][3]    # output: B
nested[2][4]    # output: undefined
nested[3][1]    # output: C
Array of objects
# starting array
let arrayOfObjects = [
  {id: 100, alphabet: "A"},
  {id: 101, alphabet: "B"},
  {id: 102, alphabet: "C"}
]
# access an object value
arrayOfObjects[0]["alphabet"]   # output: A
arrayOfObjects[1]["id"]         # output: 101
arrayOfObjects[2]["alphabet"]   # output: C