2017-03-03 6 views
0

Ich möchte eine Tabelle in reagieren Reduce. Um genauer zu sein Ich habe ein Konto JSON Array wie folgt mit 1- Datensätze:Rendern Sie eine Tabelle mit einer If-Bedingung in reagieren

[ 
{ 
    "size": "100", 
    "date": "6/1/2017", 
    "time": "09:23 AM", 
    "status": "Working" 
    }, 
{ 
    "size": "100", 
    "date": "6/1/2017", 
    "time": "09:23 AM", 
    "status": "Completed" 
    }, 
] 

und ich mag den Rekord mit dem Status Abgeschlossen machen. Also, wenn ich meine Render-Tabelle Funktion schreibe ich schreibe:

if ((ordersTrades.map(orderTrade => orderTrade.status)) === 'Completed') { 
return (
    ... 
    ); 
} 

Aber es gibt nichts zurück. ordersTrades ist der Name meines JSON. Warum das?

+1

map return array [] === 'Abgeschlossen' // false – Andrew

Antwort

1

schreibt es so, erste filter die Elemente, den Status 'Abgeschlossen', dann verwenden Sie die Karte auf das zu render die html:

a = [ 
 
{ 
 
    "size": "100", 
 
    "date": "6/1/2017", 
 
    "time": "09:23 AM", 
 
    "status": "Working" 
 
    }, 
 
{ 
 
    "size": "100", 
 
    "date": "6/1/2017", 
 
    "time": "09:23 AM", 
 
    "status": "Completed" 
 
    }, 
 
] 
 

 
b = a.filter(el=> el.status === 'Completed') 
 

 
console.log(b); // items that have status Completed 
 

 
a.filter(el=> el.status === 'Completed').map(el=>{console.log('date', el.date) /*return here*/})

Verwandte Themen