in

javascript – ¿Cómo puedo comprobar si un objeto es una matriz?

apple touch icon@2

El método dado en el estándar ECMAScript para encontrar la clase de Objeto es usar el toString método de Object.prototype.

if(Object.prototype.toString.call(someVar) === '[object Array]') {
    alert('Array!');
}

O podrías usar typeof para probar si es un cuerda:

if(typeof someVar === 'string') {
    someVar = [someVar];
}

O si no le preocupa el rendimiento, puede simplemente hacer un concat a una nueva matriz vacía.

someVar = [].concat(someVar);

También está el constructor que puede consultar directamente:

if (somevar.constructor.name == "Array") {
    // do something
}

Verificar un tratamiento minucioso del blog de TJ Crowder, como se publica en su comentario a continuación.

Verificar este punto de referencia para tener una idea de qué método funciona mejor: http://jsben.ch/#/QgYAV

Desde @Bharath, convierta una cadena en una matriz usando ES6 para la pregunta formulada:

const convertStringToArray = (object) => {
   return (typeof object === 'string') ? Array(object) : object
}

Suponer:

let m = 'bla'
let n = ['bla','Meow']
let y = convertStringToArray(m)
let z = convertStringToArray(n)
console.log('check y: '+JSON.stringify(y)) . // check y: ['bla']
console.log('check y: '+JSON.stringify(z)) . // check y: ['bla','Meow']

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

energy flow

Flujo de energía en el ecosistema

gfg 200x200 min

Declaración de retorno de Python – GeeksforGeeks