Sobes.tech
Junior

Ինչպե՞ս կարող ենք ստուգել, որ այս դաշտը զանգված է։

sobes.tech AI

Պատասխան AI-ից

Կան մի քանի եղանակներ՝ ստուգելու համար, արդյոք տվյալ դաշտը զանգված է.

  1. Array.isArray(): Ամենահաճախ օգտագործվող և ժամանակակից մեթոդը:

    // Ստուգում է, արդյոք արժեքը զանգված է:
    // Վերադարձնում է true կամ false:
    Array.isArray([]); // true
    Array.isArray({}); // false
    Array.isArray(null); // false
    Array.isArray(undefined); // false
    Array.isArray(123); // false
    Array.isArray('տող'); // false
    
  2. instanceof Array: Աշխատում է ներկայիս շրջանակում ստեղծված զանգվածների համար:

    // Ստուգում է, արդյոք օբյեկտը `Array` դասի օրինակ է:
    // Կարող է սխալ արդյունքներ տալ iframe-ների հետ աշխատելիս:
    [] instanceof Array; // true
    new Array() instanceof Array; // true
    ({}); // false
    
  3. Object.prototype.toString.call(): Վստահելի մեթոդ, որը շրջանցում է instanceof-ի խնդիրները տարբեր շրջանակներում:

    // Վերադարձնում է օբյեկտի տիպի տողային ներկայացումը:
    // Զանգվածների համար վերադարձնում է "[object Array]":
    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 հատկության ստուգում: Փոքրապես հուսալի, քանի որ constructor-ը կարող է փոխվել:

    // Ստուգում է, արդյոք օբյեկտի `constructor`-ը `Array` է:
    [].constructor === Array; // true
    ({}).constructor === Object; // false
    

Ամենալավ և հուսալի մեթոդը Array.isArray()-ն է, որը օգտագործվում է մեծ մասամբ դեպքերում։