Junior
Dəyişəndə massiv olub-olmadığını necə müəyyən etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Ən etibarlı üsul Array.isArray() istifadə etməkdir:
// Dəyərin massiv olub-olmadığını yoxlayır
Array.isArray(öz dəyişənim);
Bu metod, dəyişənin massiv olub olmadığını true olaraq qaytarır və əks halda, icra kontekstindən və ya digər amillərdən asılı olmayaraq, false qaytarır.
Digər, daha az etibarlı üsullar bunlardır:
-
typeof:// Massivlər üçün `typeof` 'object' qaytarır typeof öz dəyişənim === 'object';Az etibarlıdır, çünki
typeofçox sayda məlumat növü üçün'object'qaytarır, yalnız massivlər üçün deyil (ob'ektlər, null). -
instanceof:// Ob'ektin Array sinfinin nümunəsi olub-olmadığını yoxlayır öz dəyişənim instanceof Array;JavaScript-də müxtəlif icra kontekstləri ilə işləyərkən etibarsız ola bilər, çünki bir kontekstdəki
Arraydigərindən fərqli ola bilər. -
Konstruktorun yoxlanması:
// Dəyişənin konstruktorunun Array olub-olmadığını yoxlayır öz dəyişənim.constructor === Array;Bu da müxtəlif icra kontekstlərində problemlər yarada bilər.
Xülasə cədvəli:
| Metod | Etibarlılıq | Təsviri |
|---|---|---|
Array.isArray() |
Yüksək | Massivləri yoxlamaq üçün ixtisaslaşdırılmışdır. |
typeof öz dəyişənim |
Aşağı | Massivlər üçün 'object' qaytarır. |
öz dəyişənim instanceof Array |
Orta/Aşağı (kontekstdən asılıdır) | Array sinfinə aid olub-olmadığını yoxlayır. |
öz dəyişənim.constructor === Array |
Orta/Aşağı (kontekstdən asılıdır) | constructor xüsusiyyətini yoxlayır. |
Buna görə də, Array.isArray() üstünlük verilən və ən etibarlı üsuldur.