1.First Create array
Using an array literal is the easiest way to create a JavaScript Array.
Syntax:
var array_name = [item1, item2, ...];
<script>
var fruits = ["apple", "banana", "grapes"];
document.getElementById("demo").innerHTML = fruits;
</script>
<script>
var fruits = [
"apple",
"banana",
"grapes"
];
document.getElementById("demo").innerHTML = fruits;
</script>
JavaScript Keyword new
For Example
<script>
var fruits = new Array["apple", "banana", "grapes"];
document.getElementById("demo").innerHTML =fruits;
</script>
Access the Elements of an Array
You access an array element by referring to the index number.
This statement accesses the value of the first element in fruits
:
For Example
<script>
var fruits = ["apple", "banana", "grapes"];
document.getElementById("demo").innerHTML = fruits[0];
</script>
Changing an Array Element
This statement changes the value of the first element in fruits
:
For Example
<script>
var fruits = ["apple", "banana", "grapes"];
fruits[0]="mango"
document.getElementById("demo").innerHTML =fruits;
</script>
Access the Full Array
With JavaScript, the full array can be accessed by referring to the array name:
For Example
<script>
var fruits = ["apple", "banana", "grapes"];
document.getElementById("demo").innerHTML =fruits;
</script>
Arrays are Objects
Arrays are a special type of objects. The typeof
operator in JavaScript returns "object" for arrays.
But, JavaScript arrays are best described as arrays.
Arrays use numbers to access its "elements". In this example, person[0]
returns Kiran:
For Example
<script>
var person = ["Kiran", "v", 46];
document.getElementById("demo").innerHTML = person[0];
</script>
Objects use names to access its "members". In this example, person.firstName
returns Kiran:
For Example
<script>
var person = {firstName:"Kiran", lastName:"V", age:46};
document.getElementById("demo").innerHTML = person["firstName"];
</script>
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:
For Example
myArray[0] = Date.now;
myArray[1] = myFunction;
myArray[2] = myBike;
Array Properties and Methods
The real strength of JavaScript arrays are the built-in array properties and methods:
The length Property
The length
property of an array returns the length of an array (the number of array elements).
For Example
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.length;
</script>
Accessing the First Array Element
For Example
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var first = fruits[0];
document.getElementById("demo").innerHTML = first;
</script>
Looping Array Elements
The safest way to loop through an array, is using a for
loop:
For Example
<script>
var fruits, text, fLen, i;
fruits = ["Banana", "Orange", "Apple", "Mango"];
fLen = fruits.length;
text = "<ul>";
for (i = 0; i < fLen; i++) {
text += "<li>" + fruits[i] + "</li>";
}
text += "</ul>";
document.getElementById("demo").innerHTML = text;
</script>
You can also use the Array.forEach()
function:
For Example
<script>
var fruits, text;
fruits = ["Banana", "Orange", "Apple", "Mango"];
text = "<ul>";
fruits.forEach(myFunction);
text += "</ul>";
document.getElementById("demo").innerHTML = text;
function myFunction(value) {
text += "<li>" + value + "</li>";
}
</script>
Adding Array Elements
The easiest way to add a new element to an array is using the push()
method:
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Lemon"); // adds a new element (Lemon) to fruits
</script>
Associative Arrays
Many programming languages support arrays with named indexes.
Arrays with named indexes are called associative arrays (or hashes).
JavaScript does not support arrays with named indexes.
In JavaScript, arrays always use numbered indexes.
For Example
<script>
var person = [];
person[0] = "kiran";
person[1] = "v";
person[2] = 46;
document.getElementById("demo").innerHTML =
person[0] + " " + person.length;
</script>
The Difference Between Arrays and Objects
In JavaScript, arrays use numbered indexes.
In JavaScript, objects use named indexes.
When to Use Arrays. 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.
Avoid new Array()
There is no need to use the JavaScript's built-in array constructor new
Array().
Use []
instead.
These two different statements both create a new empty array named points:
var points = new Array(); // Bad
var points = []; // Good
<script>
//var points = new Array(40, 10, 1, 50, 5, 10);
var points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = points[0];
</script>
new
keyword only complicates the code. It can also produce some unexpected results
var points = new Array(40, 10); // Creates an array with two elements (40 and 100)
What if I remove one of the elements?
var points = new Array(40); // Creates an array with 40 undefined elements !!!!!
How to Recognize an Array
A common question is: How do I know if a variable is an array?
The problem is that the JavaScript operator typeof
returns "object
":
var fruits = ["Banana", "Orange", "Apple", "Mango"];
typeof fruits; // returns object
The typeof operator returns object because a JavaScript array is an object.
To solve this problem ECMAScript 5 defines a new method Array.isArray()
:
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = Array.isArray(fruits);
</script>
The problem with this solution is that ECMAScript 5 is not supported in older browsers.
To solve this problem you can create your own isArray()
function:
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = isArray(fruits);
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
</script>
The function above always returns true if the argument is an array.
Or more precisely: it returns true if the object prototype contains the word "Array".
The instanceof
operator returns true if an object is created by a given constructor:
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits instanceof Array;
</script>