Cómo verificar si un objeto es una matriz en JavaScript

Puede que hayas usado el typeof operador en JavaScript para comprobar el tipo de un objeto. Pero, desafortunadamente, no funciona para arreglos. El problema real es la forma en que se manejan las matrices en JavaScript.

Una matriz de JavaScript se trata internamente como un tipo especial de objeto. La sintaxis de corchetes utilizada para acceder a un elemento de matriz array[index] se parece mucho a lo que usamos para un objeto object[key] . La única diferencia tangible es que los números de índice se usan como claves.

La forma más sencilla de verificar si una variable es una matriz en JavaScript es usando el Array.isArray() método:

Array.isArray(['🍵', '🍔', '🍕']); // true
Array.isArray([]); // true
Array.isArray({ name: 'John Deo', age: 21 }); // false

El Array.isArary() El método funciona en todos los navegadores modernos, y IE9 y superior. Para compatibilidad con navegadores más antiguos, solo use el siguiente polyfill:

if (!Array.isArray) {
    Array.isArray = function (arg) {
        return Object.prototype.toString.call(arg) === '[object Array]';
    };
}

Eche un vistazo a este artículo para obtener más información sobre las matrices de JavaScript y cómo usarlas para almacenar múltiples valores en una sola variable.