Sobes.tech
Junior

Bu sahənin massiv olub olmadığını necə yoxlamaq olar?

sobes.tech Süni İntellekt

AI-dan cavab

Verilmiş sahənin massiv olub olmadığını yoxlamaq üçün bir neçə üsul mövcuddur:

  1. Array.isArray(): Ən çox tövsiyə olunan və müasir üsul.

    // Dəyərin massiv olub olmadığını yoxlayır.
    // true və ya false qaytarır.
    Array.isArray([]); // true
    Array.isArray({}); // false
    Array.isArray(null); // false
    Array.isArray(undefined); // false
    Array.isArray(123); // false
    Array.isArray('sətir'); // false
    
  2. instanceof Array: Cari çərçivədə yaradılmış massivlər üçün işləyir.

    // Obeyektin Array sinfinin nümunəsi olub olmadığını yoxlayır.
    // iframe ilə işləyərkən düzgün olmayan nəticələr verə bilər.
    [] instanceof Array; // true
    new Array() instanceof Array; // true
    ({}); // false
    
  3. Object.prototype.toString.call(): Güvənilir üsul, müxtəlif çərçivələrdə instanceof problemlərini aradan qaldırır.

    // Obeyektin tipinin sətir nümayişini qaytarır.
    // Massivlər üçün "[object Array]" qaytarır.
    Object.prototype.toString.call([]); // "[object Array]"
    Object.prototype.toString.call({}); // "[object Object]"
    Object.prototype.toString.call(null); // "[object Null]"
    Object.prototype.toString.call(undefined); // "[object Undefined]"
    
  4. constructor xüsusiyyətinin yoxlanması: Daha az etibarlıdır, çünki constructor xüsusiyyəti dəyişdirilə bilər.

    // Obeyektin constructorunun Array olub olmadığını yoxlayır.
    [].constructor === Array; // true
    ({}).constructor === Object; // false
    

Ən tövsiyə olunan və etibarlı üsul Array.isArray() istifadə etməkdir.