Not Really All
What are arrays?
Arrays are iterables.
Ok, so what is an iterable?
Iterables are objects that have Symbol.iterator
method.
Alright, so what can we do with that method?
Well, they allow us to use for
and for..of
loops on those iterables.
If arrays are iterables, that must mean that iterables are a broader term that include things other than arrays.
You are right, iterables include array-like objects
.
What are array-like objects?
They are objects which have a length property and we can access items added to that object with indices. That means that values are saved in indexed property names 0,1,2 and so on as in picture below.
So what is the difference between arrays and array-like objects?
Well, lets list the similarities. Since both are iterables, this means both have Symbol.iterator
method so both can be iterated upon using for..of and for loop.
But arrays, have many other methods which are not available on array-like objects like filter
, sort
, map
and forEach
.
If I want to use those array methods on array-like objects, I know they are not available on them but is there any way around that?
Fortunately, there is. You can convert array-like objects to arrays and then use those methods as you like.
const createdArrayFromArrayLike = Array.from('hi')
Array
is an built-in object in js and we can use from
method to create an array from such array-like object
How to create arrays
const array = [1,2]
const array2 = new Array(1,2)
I tried to create an array with one item using new Array(5)
but got what appears to be an empty array ??!!
Yes, because when you pass one item to it, it interprets it as the length of the array, so you will have an array with 5 empty indices and if you tried to console.log(array2[0]) or any index you will get undefined
const array = [1,2]
this is the best syntax to create array for simplicity and performance
How to deal with arrays, how to add items to an existing array, how to remove, tell me more about the methods I could use to manipulate arrays.
Certainly, lets first begin with adding items to an array.
push
const array = [1,2];
array.push(3)
console.log(array) // output: [1,2,3]
unshift
const array = [1,2];
array.unshift(3)
console.log(array) // output: [3,1,2]
let learn how to remove items
pop
const array = [1,2];
array.pop()
console.log(array) // output: [1]
Also if we want to save the popped
or removed item pop method actually does that it returns the popped item, so
const array = [1,2];
const popped = array.pop()
console.log(array) // output: [1]
console.log(popped) // output: 2
shift
const array = [1,2];
array.shift()
console.log(array) // output: [2]