Arrays

Arrays represent a collection of values.

Each element of the collection can be independently changed.

Making arrays

[1, 2, 3, 'foo', true]

An array with five elements.

Values are enclosed in []s and separated by commas.

An empty array

[]

Index operator

Same as with strings: [].

const xs = [1, 2, 3, true, 'foo'];
xs[0] ⟹ 1
xs[1] ⟹ 2
xs[2] ⟹ 3
xs[3] ⟹ true
xs[4] ⟹ 'foo'

That we use []s both in the syntax for making an array and in the index operator, is either unfortunate or mnemonic, depending on your point of view.

Assigning to an element of an array

Assign to the first element of xs.

xs[0] = 'x'

After the assignment:

xs[0]'x'

xs['x', 2, 3, true, 'foo']

Arrays have a length property just like strings

» xs.length
5

» xs[xs.length - 1]
'foo'

I.e. the last element of the array

You can also add elements to an array

xs.push('another value')
xs ⟹ ['x', 2, 3, true, 'foo', 'another value']

push is a method on arrays but unlike substring, toLowerCase, and toUpperCase it modifies the value it is called on.

It also returns a value, namely the new length of the array.

And you can remove elements

xs.pop() ⟹ 'another value'
xs ⟹ ['x', 2, 3, true, 'foo']

pop is another method on arrays. Like push, it modifies the value it is called on and also returns a value, namely value being removed from the end of the array.

For today, know how to

  • Create arrays: [], [1, 2], ["foo", "bar, "baz"]

  • Access array elements: someArray[0], someArray[someArray.length - 1]

  • Assign array elements: someArray[0] = "oof"

  • Add to an array: someArray.push("quux")

There are a bunch more methods on arrays.

MDN documentation

You don’t need to know any of these except the ones I’ve taught you about but you may find some of them useful as you start writing more complicated programs.