Sådan kontrolleres, om et objekt er et array i JavaScript

Du har muligvis brugt typeof operator i JavaScript for at kontrollere typen af ​​et objekt. Men desværre virker det ikke for arrays. Det virkelige problem er den måde, arrays håndteres på i JavaScript.

Et JavaScript-array behandles internt som en speciel slags objekt. Den firkantede parentes-syntaks, der bruges til at få adgang til et array-element array[index] ligner meget det, vi bruger til et objekt object[key] . Den eneste håndgribelige forskel er, at indeksnumre bruges som nøgler.

Den enkleste måde at kontrollere, om en variabel er en matrix i JavaScript, er ved at bruge Array.isArray() metode:

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

Array.isArary() metoden fungerer i alle moderne browsere og IE9 og opefter. For ældre browsere understøtter du blot følgende polyfill:

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

Tag et kig på denne artikel for at lære mere om JavaScript-arrays og hvordan du bruger dem til at gemme flere værdier i en enkelt variabel.