Sobes.tech
Junior

Чӣ тавр санҷидани, ки оё объект массив аст?

sobes.tech AI

Ҷавоб аз AI

Даъватҳои чанд роҳ вуҷуд дорад:

  1. Истифодаи Array.isArray(). Ин роҳи боэътимод ва тавсияшуда мебошад.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(Array.isArray(arr)); // true
    console.log(Array.isArray(obj)); // false
    
  2. Истифодаи instanceof Array. Барои массивҳое, ки дар фрейм ё тирезаи ҳозира сохта шудаанд, кор мекунад. Мумкин аст натиҷаҳои бардурӯғ диҳад, вақте ки бо фреймҳо ё сценарияҳои кросс-домен кор мекунед.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(arr instanceof Array); // true
    console.log(obj instanceof Array); // false
    
  3. Истифодаи Object.prototype.toString.call(). Намояндаи намуди объектиро дар сатр бармегардонад. Барои массивҳо, ин "[object Array]".

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(Object.prototype.toString.call(arr) === '[object Array]'); // true
    console.log(Object.prototype.toString.call(obj) === '[object Array]'); // false
    

Дастурҳои беҳтарини истифода Array.isArray() мебошад, зеро он боэътимод аст ва таъсири тарафҳои вобаста ба муҳити иҷроиш надорад.