2016-04-01 4 views
0

Ich habe ein Geschäft CreativeStore genannt und in einem der Felder ist Status. Die Daten werden als JSON gesendet. Ich habe eine Variable erstellt, die den Creative-Speicher erhält. Wie würde ich herausfinden, um welchen Status es sich handelt und wie viele Status sie haben?
In meinem Creative-Modell Ich habe ein FeldFinden Sie heraus, wie viele Statusobjekte in einem Geschäft sind

}, { 
    type: 'int', 
    name: 'Status' 
    }, { 

In meinem View Controller habe ich eine Methode, wenn der Speicher überprüft ich für das Creative-Modell erstellt existiert (es tut) und ich Zuweisen zu einem var genannt Test .

var test = this.getCreativeStore(); 

    getCreativeStore: function() { 
    var creativeStore = this.getStore('creativeStore'); 
    if (!creativeStore) { 
     this.logError('creativeStore is undefined'); 
    } 
    return creativeStore; 
    } 

Wie finde ich heraus, wie viele Status im Variablentest sind?

+1

nicht wirklich klar, was Sie fragen. Möchten Sie eine bestimmte Menge aller Statusfelder einfügen? –

+0

Wenn Sie nur die Anzahl der Datensätze in diesem Speicher brauchen, sollte 'test.getCount()' es tun. Wenn Sie eine eindeutige Anzahl benötigen, müssen Sie eine Logik anwenden, die wahrscheinlich 'test.each()' –

+0

'test.getCount()' oder 'Ext.Array.unique (test.getRange(). Map (function (record) {return record.get ("Status")}). length' – Alexander

Antwort

1

können Sie collect verwenden:

Sammelt eindeutige Werte für einen bestimmten dataIndex von diesem Speicher.

Zum Beispiel:

test.collect('status').length; 
0
var statusCount = 0; 

test.each(function(record) { 
    // Your status value in myStatus 
    if(record.get('Status') === myStatus) 
     ++statusCount; 
});