JavaScript has a few built-in objects. One of the most-used objects is Array. Array stores a collection of ordered values that can be accessed via its index (a number).
Some of the characteristics of JavaScript array are as follows:
- untyped (multiple types in the same array)
- zero based, use 32-bit indexes
- dynamic memory allocation (dynamically shrink or expand)
- does not support multi-dimension (but can hold array of arrays)
- sparse (can have gaps, multi-dimension can have varying length in the second dimension)
Array Literal
Array literal is the simplest and the most well-known way to cr// will throw Error, not a valid index numbereate an instance of an Array object in JavaScript and probably in most mainstream programming languages.
var arr = []; // create an array with zero element
var arr = [1,2,3,4,5]; // create an array with 5 elements of the same type
// array with 5 elements: a number, an object, a string, a boolean, and an array
var arr = [1, {}, "This is a string", true, [1,2]];
// sparse array that contains 5 elements:
// a number followed by 3 undefined and ended with a number
var arr = [0, , , 3];
Array ConstructorArray constructor is probably less used and less well-known. It is also slower than Array literal.
var arr = new Array(); // create an array with zero elements
var arr = new Array(1,2,3,4,5); // create an array with 5 elements, same type
// array with 5 elements: a number, an object, a string, a boolean, and an array
var arr = new Array(1, {}, "This is a string", true, new Array(1,2);
// sparse array that contains 5 elements:
// a number followed by 3 undefined and ended with a number
var arr = new Array(0, , , 3);
Modifying Element, Accessing Element, How Many Elements?Here are examples how to modify/access element of the array and also to know how many elements in the array:
// declare an array of 4 elements, all numbers
var arr = [1,2,3,4];
// modify the value of the first element
arr[0] = 5;
// how many items in the array currently
var arr_length = array.length;
// modify the value of the last element
// (array index starts from 0, last element means n-1)
arr[arr_length - 1] = 10;
if(arr[1] + arr[2] === arr[0]){
console.log("The sum of array index 1 and 2 are equal to array index 0");
}
// modifying length property of Array is allowed in certain situation
// Example #1: increase length from 4 to 10,
// we'll have 6 undefined elements added to the end of the array
arr.length = 10;
// Example #2: decrease the length from 4 to 3
// hence arr[3] = 4 no longer exist, we reduce the size of array
arr.length = 3;
// Example #3: invalid index number
// will throw Error, not a valid index number
arr.length = -1;
Iterating Array ElementsThere are 2 ways to iterate over Array elements: for-loop and forEach array method.
1) Example for for-loop:
var arr = [1,2,3,4,5];
// NOTE: arr.length is evaluated at every iteration
for(var i=0; i < arr.length; i++){
console.log("Index " + i + " : " + arr[i]);
}
2) Example for for-loop optimized:var arr = [1,2,3,4,5];
// optimized because arr.length is called only once
for(var i=0, len; len = arr.length, i < len ; i++){
console.log("Index " + i + " : " + arr[i]);
}
3) Example for forEach array method:var arr = [1,2,3,4,5];
arr.forEach(function(element, index, array){
console.log("Index " + i + " : " + element);
});

No comments:
Post a Comment