Junior
O'zgaruvchida massiv bor-yo'qligini qanday aniqlash mumkin?
sobes.tech AI
AIdan javob
Eng ishonli usul Array.isArray() dan foydalanishdir:
// Qiymat massiv ekanligini tekshiradi
Array.isArray(meningO'zgaruvchim);
Ushbu metod massiv ekanligini true qaytaradi va aks holda false, bajarilish kontekstidan yoki boshqa omillardan qat'i nazar.
Boshqa, kamroq ishonchli usullar quyidagilar:
-
typeof:// Massivlar uchun `typeof` 'object' qaytaradi typeof meningO'zgaruvchim === 'object';Kam ishonchli, chunki
typeofko'plab ma'lumot turlarida'object'qaytaradi, faqat massivlar uchun emas (ob'ektlar, null). -
instanceof:// Ob'ekt `Array` sinfining nusxasi ekanligini tekshiradi meningO'zgaruvchim instanceof Array;JavaScriptda turli bajarilish kontekstlari bilan ishlaganda kam ishonchli bo'lishi mumkin, chunki bir kontekstdagi
Arrayboshqasidan farq qilishi mumkin. -
Konstruktorni tekshirish:
// O'zgaruvchining konstruktorining `Array` ekanligini tekshiradi meningO'zgaruvchim.constructor === Array;Bu ham bajarilish kontekstlarida muammo tug‘dirishi mumkin.
Xulosa jadvali:
| Usul | Ishonchliligi | Tavsifi |
|---|---|---|
Array.isArray() |
Yuqori | Massivlarni tekshirish uchun maxsus. |
typeof meningO'zgaruvchim |
Past | Massivlar uchun 'object' qaytaradi. |
meningO'zgaruvchim instanceof Array |
O'rtacha/Past (kontekstga qarab) | Array sinfiga tegishli ekanligini tekshiradi. |
meningO'zgaruvchim.constructor === Array |
O'rtacha/Past (kontekstga qarab) | constructor xususiyatini tekshiradi. |
Shuning uchun, Array.isArray() eng afzal va ishonchli usul hisoblanadi.