2011-10-18 15 views
7

Jak rozpoznać obiekt tablicowy & w js gdzie typof nie jest przydatny?Różnica między tablicą i obiektem w js?

var arr = [], ob = {}; 

Jak wszystko w js to obiekty,

if(typeof arr == typeof ob) => returns true 

chcę operatora lub ... że powie mi, że zmienna jest tablicą. Mogę wtedy użyć tylko funkcji tablicowych do obiektów, które są tablicami. Jak to możliwe?

Odpowiedz

11
var arr = [], ob = {}; 

Jak wszystko w JS są obiekty, nawet ** Array jest obiektem ale instancją klasy Array

if(typeof arr == typeof ob) => returns true as Both are **Objects 

Tak, jak można zidentyfikować obiekty.

To gdzie operator instanceof jest przydatna, aby określić, czy ITS tablicą można umieścić dodatkowe CDE wyboru:

if(arr instanceof Object && arr instanceof Array) => returns true 
if(ob instanceof Object && ob instanceof Array) => returns false 
+1

To nie zadziała w multi 'window' środowiska, jednak. – alex

+0

+1: na przykład: typeof vs. instanceof – vietean

+0

@alex Oh, widzę. jakie będzie wyjście? –

5

można użyć Array.isArray() sposób sprawdzić, czy zmienna jest tablicą lub w inny sposób.

var myArray = [1,2,3,4,5]; 
console.log(Array.isArray(myArray)); 

prawda

Powiązane problemy