Sobes.tech
Junior

Ինչպե՞ս որոշել, որ փոփոխականում պահվում է զանգված։

sobes.tech AI

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

Ամենահավատարիմ միջոցը Array.isArray()-ն օգտագործելն է.

// Ստուգում է, արդյոք արժեքը զանգված է
Array.isArray(իմՓոփոխական);

Այս մեթոդը վերադարձնում է true, եթե փոփոխականը զանգված է, և false՝ հակառակ դեպքում, անկախ գործարկման կոնտեքստից կամ այլ գործոններից:

Այլ, ավելի քիչ հուսալի մեթոդներ են՝

  1. typeof:

    // Զանգվածների համար `typeof`-ը վերադարձնում է `'object'`
    typeof իմՓոփոխական === 'object';
    

    Ավելի քիչ հուսալի, քանի որ typeof-ը վերադարձնում է 'object' շատ տվյալների տեսակների համար, ոչ միայն զանգվածների (օբյեկտներ, null):

  2. instanceof:

    // Ստուգում է, արդյոք օբյեկտը `Array` դասի օրինակ է
    իմՓոփոխական instanceof Array;
    

    Կարող է լինել ոչ հուսալի, երբ աշխատում եք iframe-ների կամ տարբեր JavaScript կոնտեքստերով պատուհանների հետ, որտեղ Array-ը մեկ կոնտեքստից տարբեր է մյուսից:

  3. Կոնստրուկտորի ստուգում:

    // Ստուգում է, արդյոք փոփոխականի կոնստրուկտորը `Array` է
    իմՓոփոխական.constructor === Array;
    

    Կարող է նաև առաջացնել խնդիրներ տարբեր կոնտեքստերում:

Ամփոփ աղյուսակ՝

Մեթոդ Հավատարիմություն Նկարագրություն
Array.isArray() Բարձր Մասնագիտացված զանգվածների ստուգման համար
typeof իմՓոփոխական Նվազ Զանգվածների համար վերադարձնում է 'object'
իմՓոփոխական instanceof Array Միջին/նվազ (կոնտեքստից կախված) Ստուգում է, արդյոք պատկանում է Array դասին
իմՓոփոխական.constructor === Array Միջին/նվազ (կոնտեքստից կախված) Ստուգում է constructor հատկությունը

Հետևաբար, Array.isArray()-ն է նախընտրելի և ամենահավատարիմ մեթոդը։