JavaScript
In this tutorial we will learn about JavaScript array.
Lets say we want save name of 5 fruits. We can solve this by creating 5 variables, one for each fruit.
var fruits1 = "Apple";
var fruits2 = "Orange";
var fruits3 = "Mango";
var fruits4 = "Banana";
var fruits5 = "Guava";
But there are some problems in this approach. First, we are creating too many variables. Second, it is hard to work with them efficiently. Imagine, we want to add 10 more fruits. Then in this approach we have to again create 10 more variables.
To solve this problem we take help of an array.
An array is a variable that holds multiple values under same name.
We define array by creating an instance of Array object.
Syntax
var arrayName = new Array(element0, element1, element2);
In the following example we are creating an array having 5 elements.
var fruits = new Array("Apple", "Orange", "Mango", "Banana", "Guava");
There is an alternative way to create an array using [ ]
square brackets.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Guava"];
We use the length
property to find the number of elements in an array.
//create array
var fruits = new Array("Apple", "Orange", "Mango", "Banana", "Guava");
//print length
console.log(fruits.length); //this will print 5
Values stored in an array are called elements of the array. We use the array index to access the elements. Array indexing starts from 0.
So, if an array has 5 elements then the first element is at index 0, second element is at index 1 and the last element (5th element) is at index 4.
In the following example we are creating an array having 5 elements. Then using for loop we are printing the elements of the array.
var fruits = new Array("Apple", "Orange", "Mango", "Banana", "Guava");
var len = fruits.length; //no. of elements of the array
//print elements of the array
for (var i = 0; i < len; i++) {
console.log(fruits[i]);
}
Output
Apple
Orange
Mango
Banana
Guava
In the following example we have allocated space for a array having 5 elements but we are filling it later.
//allocate space for array of 5 elements
var fruits = new Array(5);
//fill the array
fruits[0] = "Apple";
fruits[1] = "Orage";
fruits[2] = "Mango";
fruits[3] = "Banana";
fruits[4] = "Guava";
So, the first element is at index 0, second element is at index 1, and the last element is at index 4.
In this we create an instance of the Array object and then later add the elements.
//create instance
var fruits = new Array();
//add elements
fruits[0] = "Apple";
fruits[1] = "Orage";
fruits[2] = "Mango";
fruits[3] = "Banana";
fruits[4] = "Guava";
Note! If we assign an element to a higher index then index before it will be auto created.
In the following example we are creating an instance of Array object without size. Then we are adding an element at index 4. This will make the array of size 5 automatically.
//create array
var fruits = new Array();
//add element at index 4
fruits[4] = "Guava";
//find length of the array
var len = fruits.length;
console.log(len); //this will print 5
//print elements of the array
for (var i = 0; i < len; i++) {
console.log(fruits[i]);
}
Output
5
undefined
undefined
undefined
undefined
Guava
Note! In the above array that are not assigned any value are set to undefined
.
We use the concat( )
method to concatenate two arrays into a new one.
In the following example we are concatenating two arrays.
var arr1 = ["Apple", "Orange"];
var arr2 = ["Mango", "Banana", "Guava"];
var fruits = arr1.concat(arr2);
console.log(arr1);
console.log(arr2);
console.log(fruits);
Output
["Apple", "Orange"]
["Mango", "Banana", "Guava"]
["Apple", "Orange", "Mango", "Banana", "Guava"]
In the above code we are concatenating arr2
after arr1
and assigning the resultant array to fruits
.
We use the join( )
method to combine the elements of the array into a string separated by a character that we pass as parameter to the method.
If no separator character is passed then ,
comma is used as default separator.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Guava"];
var fruits_str = fruits.join("-");
console.log("Fruits array");
console.log(fruits);
console.log("Fruits string");
console.log(fruits_str);
Output
Fruits array
["Apple", "Orange", "Mango", "Banana", "Guava"]
Fruits string
Apple-Orange-Mango-Banana-Guava
In the above code we have an array fruits
which we are converting into a string using the join()
method and we are using -
hyphen as the separator.
We use the pop( )
method to remove the last element from the array. We can save the popped element in a variable.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Guava"];
console.log("Before pop");
console.log(fruits);
var popped_fruit = fruits.pop();
console.log("After pop");
console.log(fruits);
console.log("Popped element: " + popped_fruit);
Output
Before pop
["Apple", "Orange", "Mango", "Banana", "Guava"]
After pop
["Apple", "Orange", "Mango", "Banana"]
Popped element: Guava
In the above code we have an array fruits
and using the pop method we are removing the last element "Guava".
We use the push( )
method to add an element to the end of an array. We can save the popped element in a variable.
var fruits = ["Apple", "Orange", "Mango", "Banana"];
console.log("Before push");
console.log(fruits);
fruits.push("Guava");
console.log("After push");
console.log(fruits);
Output
Before push
["Apple", "Orange", "Mango", "Banana"]
After push
["Apple", "Orange", "Mango", "Banana", "Guava"]
In the above code we have an array fruits
and using the push method we are adding an element "Guava" at the end of the array.
We use the reverse( )
method to reverse the order of the elements in an array.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Guava"];
console.log("Before reverse");
console.log(fruits);
fruits.reverse();
console.log("After reverse");
console.log(fruits);
Output
Before reverse
["Apple", "Orange", "Mango", "Banana", "Guava"]
After reverse
["Guava", "Banana", "Mango", "Orange", "Apple"]
In the above code we have an array fruits
and using the reverse method we are reversing the order of the elements.
We use the shift( )
method to remove the first elements of an array. The removed element is returned by this method which can be saved in a variable.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Guava"];
console.log("Before shift");
console.log(fruits);
var elem = fruits.shift();
console.log("After shift");
console.log(fruits);
console.log("Element shifted");
console.log(elem);
Output
Before shift
["Apple", "Orange", "Mango", "Banana", "Guava"]
After shift
["Orange", "Mango", "Banana", "Guava"]
Element shifted
Apple
In the above code we have an array fruits
and using the shift method we are removing the first element of the array.
We use the unshift( )
method to add elements at the beginning of an array. The method returns length of the new array after adding the elements.
var fruits = ["Mango", "Banana", "Guava"];
console.log("Before unshift");
console.log(fruits);
var new_length = fruits.unshift("Apple", "Orange");
console.log("After unshift");
console.log(fruits);
console.log("New length");
console.log(new_length);
Output
Before unshift
["Mango", "Banana", "Guava"]
After unshift
["Apple", "Orange", "Mango", "Banana", "Guava"]
New length
5
In the above code we have an array fruits
and using the unshift method we are adding 2 elements at the beginning of the array.
We use the slice( )
method to slice a specified portion of the array. This will return a new sliced array.
Syntax
array_name.slice(start, stop);
array_name is the array that we want to slice. start is the starting index from where we want to start slicing elements. stop is the index number that comes after the last element that we want to slice.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Guava"];
console.log("Before slice");
console.log(fruits);
var sliced_array = fruits.slice(1, 3);
console.log("After slice");
console.log(fruits);
console.log("Sliced array");
console.log(sliced_array);
Output
Before slice
["Apple", "Orange", "Mango", "Banana", "Guava"]
After slice
["Apple", "Orange", "Mango", "Banana", "Guava"]
Sliced array
["Orange", "Mango"]
In the above code we have an array fruits
and using the slice method we are slicing elements. The start is set to 1. This means we are slicing from index 1. stop is the set to 3. This means we are slicing till index (3-1) i.e., 2. So, the slices elements are ["Orange", "Mango"].
We use the splice( )
method to remove and replace elements from the array.
Syntax
array_name.splice(start, numberOfElem, new_elem);
array_name is the array that we want to splice. start is the starting index from where we want to start splicing elements. numberOfElem is the number of elements that we want to splice. new_elem are the new elements that we want to add.
In the following example we are going to splice 2 elements from index 1.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Guava"];
console.log("Before splice");
console.log(fruits);
var splice_array_elem = fruits.splice(1, 2);
console.log("After splice");
console.log(fruits);
console.log("Spliced array elements");
console.log(splice_array_elem);
Output
Before splice
["Apple", "Orange", "Mango", "Banana", "Guava"]
After splice
["Apple", "Banana", "Guava"]
Spliced array elements
["Orange", "Mango"]
In the following example we are going to splice all elements from index 1.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Guava"];
console.log("Before splice");
console.log(fruits);
var splice_array_elem = fruits.splice(1);
console.log("After splice");
console.log(fruits);
console.log("Spliced array elements");
console.log(splice_array_elem);
Output
Before splice
["Apple", "Orange", "Mango", "Banana", "Guava"]
After splice
["Apple"]
Spliced array elements
["Orange", "Mango", "Banana", "Guava"]
In the following example we are going to splice 2 elements from index 1 then add 2 new elements.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Guava"];
console.log("Before splice");
console.log(fruits);
var splice_array_elem = fruits.splice(1, 2, "Strawberry", "Grape");
console.log("After splice");
console.log(fruits);
console.log("Spliced array elements");
console.log(splice_array_elem);
Output
Before splice
["Apple", "Orange", "Mango", "Banana", "Guava"]
After splice
["Apple", "Strawberry", "Grape", "Banana", "Guava"]
Spliced array elements
["Orange", "Mango"]
We use the sort( )
method to arrange the elements of the array in alphabetical order.
In the following example we are sorting the array elements.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Guava"];
console.log("Before sort");
console.log(fruits);
fruits.sort();
console.log("After sort");
console.log(fruits);
Output
Before sort
["Apple", "Orange", "Mango", "Banana", "Guava"]
After sort
["Apple", "Banana", "Guava", "Mango", "Orange"]
We use the toString( )
method to combine the elements of an array separated by comma. This will return a string.
In the following example we are combining the elements of the array into string separated by comma.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Guava"];
console.log("Before toString");
console.log(fruits);
var fruits_str = fruits.toString();
console.log("After toString");
console.log(fruits);
console.log("Fruits string");
console.log(fruits_str);
Output
Before toString
["Apple", "Orange", "Mango", "Banana", "Guava"]
After toString
["Apple", "Orange", "Mango", "Banana", "Guava"]
Fruits string
Apple,Orange,Mango,Banana,Guava
We use the filter( )
method to create a new array containing elements that passed the filter we created.
In the following example we will get a new array having elements greater than 10.
//filter function
function biggerThan10 (val) {
return val > 10;
}
var arr = [1, 10, 20, 5, 30];
var filtered_array = arr.filter(biggerThan10);
console.log(filtered_array);
Output
[20, 30]
In the above code we are using the biggerThan10()
function to filter elements of the arr
array. If the element is greater than 10 then function biggerThan10 will return true and that element will be added to the filtered_array
array.
We use the forEach( )
method to execute a function for every element of the array.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Guava"];
//print element
fruits.forEach(function(elem){
console.log(elem);
});
Output
Apple
Orange
Mango
Banana
Guava
In the above code we are using the forEach()
method to print all the elements of the fruits
array.
We use the every( )
method to check if all the elements of the array pass a given test. The method will return true if all elements passed the test, false otherwise.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Guava"];
function checkType (elem) {
return (typeof elem === "string");
}
console.log("Is type of all elements string? " + fruits.every(checkType));
Output
Is type of all elements string? true
We use the some( )
method to check if some of the elements of the array pass a given test. The method will return true if some elements passed the test, false if none passed the test.
var arr = ["Apple", 1, "Mango", "Banana", "Guava"];
function checkType (elem) {
return (typeof elem === "number");
}
console.log("Is type of some elements number? " + arr.some(checkType));
Output
Is type of some elements number? true
We use the indexOf( )
method returns the first index at which the given element is found. -1 if not found.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Guava"];
console.log("Index of Mango: " + fruits.indexOf("Mango"));
Output
Index of Mango: 2
We use the lastIndexOf( )
method returns the highest index at which the given element is found. -1 if not found.
var fruits = ["Apple", "Orange", "Mango", "Banana", "Mango"];
console.log("Last index of Mango: " + fruits.lastIndexOf("Mango"));
Output
Last index of Mango: 4
ADVERTISEMENT