Sobes.tech
Junior

Hoe controleer je of een object een array is?

sobes.tech AI

Antwoord van AI

Er zijn verschillende manieren:

  1. Gebruik Array.isArray(). Dit is de meest betrouwbare en aanbevolen methode.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(Array.isArray(arr)); // true
    console.log(Array.isArray(obj)); // false
    
  2. Gebruik instanceof Array. Werkt voor arrays die in de huidige frame of window zijn gemaakt. Kan valse resultaten geven bij werken met frames of cross-domeinscenario's.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(arr instanceof Array); // true
    console.log(obj instanceof Array); // false
    
  3. Gebruik Object.prototype.toString.call(). Geeft een stringrepresentatie van het type van het object. Voor arrays is dit "[object Array]".

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(Object.prototype.toString.call(arr) === '[object Array]'); // true
    console.log(Object.prototype.toString.call(obj) === '[object Array]'); // false
    

De meest aanbevolen methode is het gebruik van Array.isArray(), omdat het betrouwbaar is en geen bijwerkingen heeft die verband houden met de uitvoeringcontext.