Hier ist ein Beispiel für einen Code, der ein Array von Objekten für einfache, beliebige Daten verwendet.return object values mit const 1 liner
konstante Funktion am unteren Rand meiner Flugnummer vertreten zu finden, wie flightNu
var flights = [{
"id": 1234,
"airline": "Delta",
"depart": "11/23/2016 10:25 AM",
"arrive": "11/23/2016 11:35 AM",
"from": "TPA",
"to": "MEM"
}, {
"id": 4321,
"airline": "AA",
"depart": "11/23/2016 12:25 PM",
"arrive": "11/23/2016 2:35 PM",
"from": "DWF",
"to": "SEA"
}]
var flightNu = 4321;
const flightDetails = (a) =>
a.map(f => (f.id == flightNu) ? f : null)
console.log(flightDetails(flights))
So liegt meine Frage mit richtig definieren diese konstante Funktion
const flightDetails = (a) =>
a.map(f => (f.id == flightNu) ? f : null)
Dies kehrt [null, Object]
Objekt ist die korrekte eins, mit FlugNu. Ich fand es, cool, aber sagen wir, ich füge 100 Objekte hinzu, das wären 99 Nullen. Das sind 99 Probleme, aber eine passende Flugnummer ist keine. (Entschuldigung)
Kann jemand etwas Licht auf eine gute Möglichkeit werfen, dies zu verwenden? Vielleicht sollte ich keinen ternären Operator verwenden. Wenn ich die richtige f[index]
zurückgeben könnte, wäre das großartig.
Vorzugsweise ohne Objekt in anderen Variablen zugewiesen
var MatchingFlight;
const flightDetails = (a) =>
a.map(f => {
if (f.id === flightNu){
MatchingFlight = f;
}
}) ? MatchingFlight : null //returns Object {} close but meh
Dieser Code-Schnipsel in dem vorgeschlagenen Ziel, Sinn funktioniert, aber die Definition MatchingFlight außerhalb des Bereichs für const
scheint nicht richtig.
Wenn Sie das erste Spiel, verwenden Sie '.find()' statt '.map()'. –
anstelle von 'map' verwenden' filter'. – abhishekkannojia
@torazaburo Nun, ich habe das Update für ein Szenario hinzugefügt, das funktioniert, Es gibt andere Schnipsel, die funktionieren, aber die wahre Antwort ist SLaks mit 3 möglichen Methoden, die kein Snippet ist, also wollte ich nur mit einem möglichen Ausschnitt für die Vollständigkeit aktualisieren – teachtyler