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.