Junior
Como se pode verificar se um campo é um array?
sobes.tech IA
Resposta da IA
Existem várias formas de verificar se um campo dado é um array:
-
Array.isArray(): A forma mais preferida e moderna.// Verifica se o valor é um array. // Retorna true ou false. Array.isArray([]); // true Array.isArray({}); // false Array.isArray(null); // false Array.isArray(undefined); // false Array.isArray(123); // false Array.isArray('string'); // false -
instanceof Array: Funciona para arrays criados na frame atual.// Verifica se o objeto é uma instância da classe Array. // Pode dar resultados incorretos ao trabalhar com iframes. [] instanceof Array; // true new Array() instanceof Array; // true ({}); // false -
Object.prototype.toString.call(): Método confiável que evita problemas cominstanceofem diferentes frames.// Retorna uma representação em string do tipo do objeto. // Para arrays retorna "[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]" -
Verificação da propriedade
constructor: Menos confiável, pois a propriedadeconstructorpode ser alterada.// Verifica se o construtor do objeto é Array. [].constructor === Array; // true ({}).constructor === Object; // false
A forma mais recomendada e confiável na maioria dos casos é usar Array.isArray().