Sunday, May 13, 2018

JS Arrays (https://www.w3schools.com/js/js_arrays.asp)

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();         // Badvar points = [];                  // Good 

var points = new Array(40100152510); // Badvar points = [40100152510];          // Good

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

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
Try it Yourself »
The typeof operator returns object because a JavaScript array is an object.

Solution 1:

To solve this problem ECMAScript 5 defines a new method Array.isArray():
Array.isArray(fruits);     // returns true
Try it Yourself »
The problem with this solution is that ECMAScript 5 is not supported in older browsers.

Solution 2:

To solve this problem you can create your own isArray() function:
function isArray(x) {
    return x.constructor.toString().indexOf("Array") > -1;
}
Try it Yourself »
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".

Solution 3:

The instanceof operator returns true if an object is created by a given constructor:
var fruits = ["Banana""Orange""Apple""Mango"];

fruits instanceof Array     // returns true
Try it Yourself »

No comments:

Post a Comment