Sobes.tech
Junior

Jak sprawdzić, czy obiekt jest tablicą?

sobes.tech AI

Odpowiedź od AI

Istnieje kilka sposobów:

  1. Użyj Array.isArray(). To najbezpieczniejszy i zalecany sposób.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(Array.isArray(arr)); // true
    console.log(Array.isArray(obj)); // false
    
  2. Użyj instanceof Array. Działa dla tablic utworzonych w bieżącym frame lub oknie. Może dawać fałszywe wyniki przy pracy z ramkami lub scenariuszami cross-domain.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(arr instanceof Array); // true
    console.log(obj instanceof Array); // false
    
  3. Użyj Object.prototype.toString.call(). Zwraca tekstową reprezentację typu obiektu. Dla tablic jest to "[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
    

Najbardziej zalecanym jest użycie Array.isArray(), ponieważ jest niezawodne i nie ma efektów ubocznych związanych z kontekstem wykonania.