Sobes.tech
Junior

Чӣ гуна метавон санҷид, ки ин майдон массив аст?

sobes.tech AI

Ҷавоб аз AI

Дастурӣ чанд роҳ вуҷуд дорад, ки муайян кунад, ки оё ин майдон массив аст:

  1. Array.isArray(): Беҳтарин ва муосиртарин усул.

    // Санҷиш мекунад, ки арзиш массив аст.
    // Вай true ё false бармегардонад.
    Array.isArray([]); // true
    Array.isArray({}); // false
    Array.isArray(null); // false
    Array.isArray(undefined); // false
    Array.isArray(123); // false
    Array.isArray('сатр'); // false
    
  2. instanceof Array: Барои массивҳое, ки дар фрейми ҳозира сохта шудаанд, кор мекунад.

    // Санҷиш мекунад, ки оё объект намунаи класи Array аст.
    // Мумкин аст натиҷаҳои нодуруст диҳад дар кор бо iframe.
    [] instanceof Array; // true
    new Array() instanceof Array; // true
    ({}); // false
    
  3. Object.prototype.toString.call(): Роҳи боэътимод, ки мушкилоти instanceof дар фреймҳои гуногунро ҳал мекунад.

    // Вай тасвирии навъи объектро бармегардонад.
    // Барои массивҳо "[object Array]" бармегардонад.
    Object.prototype.toString.call([]); // "[object Array]"
    Object.prototype.toString.call({}); // "[object Object]"
    Object.prototype.toString.call(null); // "[object Null]"
    Object.prototype.toString.call(undefined); // "[object Undefined]"
    
  4. Таҳқиқи хосияти constructor: Камтар боэътимод, зеро хосияти constructor метавонад тағир дода шавад.

    // Санҷиш мекунад, ки оё конструктори объект Array аст.
    [].constructor === Array; // true
    ({}).constructor === Object; // false
    

Усули беҳтарин ва боэътимод дар аксари ҳолатҳо истифодаи Array.isArray() мебошад.