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() усули афзалиятнок ва боэътимодтарин мебошад.