Simply Array is to store multiple values in one variable.
Syntax:
const array_name = [item1, item2, ...];
( Here we assign array literal to the variable array_name)
Why Arrays?
If we want to store 3 values we can store in three variables like
let car1 = "Saab";
let car2 = "Volvo";
let car3 = "BMW";
But what if we have to store the 100 values it is a bit more difficult right? So here came the array by using an array we can store the many values in one variable like
const cars = ["Saab", "Volvo", "BMW"];
In an array, the line breaks and spaces are not considered.
Creating Array
You can also create an empty array and provide values to it by using indexing.
const cars = [];
cars[0]= "Saab";
cars[1]= "Volvo";
cars[2]= "BMW";
We can also create the array by using the array keyword new.
const cars = new Array("Saab", "Volvo", "BMW");
Note: The two examples above do the same.
There is no need to use
new Array()
.For simplicity, readability and execution speed, use the array literal method.
Accessing Array Elements
You can access an array element by referring to the index number. Array index starts with 0 and so on...
const cars = ["Saab", "Volvo", "BMW"];
let car = cars[0];
Changing an Array Element
cars[0] = "Opel";
It replaces the 0th index with the value Opel.
Accessing the Full Array
In JavaScript, the full array can be accessed by referring to the array name.
console.log(cars);
Arrays are Objects
Arrays are a special type of object. The typeof()
method in JavaScript returns "object" for arrays.
But, JavaScript arrays are best described as arrays.
Arrays use numbers person[0]
to access their "elements".
const person = ["John", "Doe", 46];
Objects use names person.firstName
to access their "members".
const person = {firstName: "John", lastName: "Doe", age:46};
Array Elements Can Be Objects
JavaScript variables can be objects. Arrays are special kinds of objects.
Because of this, you can have variables of different types in the same Array.
You can have objects in an Array. You can have functions in an Array. You can have arrays in an Array.
myArray[0] = Date.now;
myArray[1] = myFunction;
myArray[2] = myCars;
Length
The length
property of an array returns the length of an array (the number of array elements).
Accessing the Last Array Element
const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[fruits.length - 1];
Looping Array Elements
//Using for loop
const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fLen = fruits.length;
let text = "<ul>";
for (let i = 0; i < fLen; i++) {
text += "<li>" + fruits[i] + "</li>";
}
text += "</ul>";
//using forEach
const fruits = ["Banana", "Orange", "Apple", "Mango"];
let text = "<ul>";
fruits.forEach(myFunction);
text += "</ul>";
function myFunction(value) {
text += "<li>" + value + "</li>";
}
To add a new element to an array is to use the array.push(value)
method.
A new element can also be added to an array using the Array[fruits.length]=value
property.
Array And Object Diff
In JavaScript, arrays use numbered indexes.
In JavaScript, objects use named indexes.
Note:
Arrays are a special kind of objects, with numbered indexes.
JavaScript does not support arrays with named indexes(associative arrays).
In JavaScript, arrays always use numbered indexes.
const person = []; person[0] = "John"; person[1] = "Doe"; person[2] = 46; person.length; // Will return 3 person[0]; //"John"
WARNING :
If you use named indexes, JavaScript will redefine the array to an object.After that, some array methods and properties will produce incorrect results.
const person = []; person["firstName"] = "John"; person["lastName"] = "Doe"; person["age"] = 46; person.length; // Will return 0 person[0]; // Will return undefined
When to Use Arrays and when to use Objects.
JavaScript does not support associative arrays.
You should use objects when you want the element names to be strings (text).
You should use arrays when you want the element names to be numbers.