Junior
Ինչպե՞ս որոշել, որ փոփոխականում պահվում է զանգված։
sobes.tech AI
Պատասխան AI-ից
Ամենահավատարիմ միջոցը Array.isArray()-ն օգտագործելն է.
// Ստուգում է, արդյոք արժեքը զանգված է
Array.isArray(իմՓոփոխական);
Այս մեթոդը վերադարձնում է true, եթե փոփոխականը զանգված է, և false՝ հակառակ դեպքում, անկախ գործարկման կոնտեքստից կամ այլ գործոններից:
Այլ, ավելի քիչ հուսալի մեթոդներ են՝
-
typeof:// Զանգվածների համար `typeof`-ը վերադարձնում է `'object'` typeof իմՓոփոխական === 'object';Ավելի քիչ հուսալի, քանի որ
typeof-ը վերադարձնում է'object'շատ տվյալների տեսակների համար, ոչ միայն զանգվածների (օբյեկտներ, null): -
instanceof:// Ստուգում է, արդյոք օբյեկտը `Array` դասի օրինակ է իմՓոփոխական instanceof Array;Կարող է լինել ոչ հուսալի, երբ աշխատում եք iframe-ների կամ տարբեր JavaScript կոնտեքստերով պատուհանների հետ, որտեղ
Array-ը մեկ կոնտեքստից տարբեր է մյուսից: -
Կոնստրուկտորի ստուգում:
// Ստուգում է, արդյոք փոփոխականի կոնստրուկտորը `Array` է իմՓոփոխական.constructor === Array;Կարող է նաև առաջացնել խնդիրներ տարբեր կոնտեքստերում:
Ամփոփ աղյուսակ՝
| Մեթոդ | Հավատարիմություն | Նկարագրություն |
|---|---|---|
Array.isArray() |
Բարձր | Մասնագիտացված զանգվածների ստուգման համար |
typeof իմՓոփոխական |
Նվազ | Զանգվածների համար վերադարձնում է 'object' |
իմՓոփոխական instanceof Array |
Միջին/նվազ (կոնտեքստից կախված) | Ստուգում է, արդյոք պատկանում է Array դասին |
իմՓոփոխական.constructor === Array |
Միջին/նվազ (կոնտեքստից կախված) | Ստուգում է constructor հատկությունը |
Հետևաբար, Array.isArray()-ն է նախընտրելի և ամենահավատարիմ մեթոդը։