2015-11-12 9 views
8

Ich spiele mit NG2 und ich bin auf der Suche nach dem Äquivalent von angular.isArray.Angular2 Äquivalent von angular.isArray

Ja, ich habe versucht, es zu googeln, aber kein Glück. Ich denke wahrscheinlich über dieses Problem nach.

Die Methode, die ich versuche in meiner NG2-App zu nutzen, ist dies:

function periodsFormat(dates, func) { 
    if (!angular.isArray(dates)) { return func(dates); } 
    return dates.map(func).join('-'); 
} 

Sicherlich sollte es funktionieren, wenn ich es schaffe (!angular.isArray... mit etwas NG2-ish zu ersetzen. Vielen Dank!

Update:

Danke euch beiden, ich endete dies zu tun:

function periodsFormat(dates, func) { 
    if (!Array.isArray(dates)) { return func(dates); } 
    return dates.map(func).join('-'); 
} 
+1

Brauchen Sie eine angularspezifische Funktion? oder kannst du nur einfaches JavaScript wie in den Antworten hier verwenden? http://stackoverflow.com/questions/4775722/check-if-object-is-array – Marc

+0

Ich brauche wahrscheinlich keine winkelspezifische Funktion. Nicht sicher, warum ich das dachte ... – user2915962

+0

Ich wäre gegangen mit 'if (Datum instanceof Array) {console.log (" es ist ein Array! ");}', Aber was auch immer funktioniert. – Marc

Antwort

6

ich Sie vermuten, können nur die Ctor überprüfen:

if (dates.constructor !== Array) { ...

Da ich glaube, Sie wouldn‘ Es geht nicht mehr um mögliche verpackte Objekte.

Angular 1 für jQuery/jLite-Array überprüft, wenn ich mich richtig erinnere, weshalb es eine spezielle Funktion zum Überprüfen von Arrays gab.