den folgenden JS-Array Geben Sie:Wie Objekt mit dem Wert in dem Feld finden mit lodash
vm.todayShifts = [];
vm.todayShifts['am'] =
{
station: "1",
slots: {
position: "AO",
name: "Person One"
},
slots: {
position: "FF",
name: "Person Two"
},
slots: {
position: "PFF",
name: "Person Three"
},
},
{
station: "2",
slots: {
position: "AO",
name: "Person Four"
},
slots: {
position: "FF",
name: "Person Fve"
},
slots: {
position: "PFF",
name: "Person Six"
},
},
],
todayShifts['pm'] =
{
station: "1",
slots: {
position: "AO",
name: "Person Seven"
},
{
position: "FF",
name: "Person Eight"
},
{
position: "PFF",
name: "Person Nine"
},
},
{
station: "2",
slots: {
position: "AO",
name: "Person Ten"
},
{
position: "FF",
name: "Person Eleven"
},
{
position: "PFF",
name: "Person Twelve"
},
},
]
an einem Punkt in einer Schleife, habe ich die station.id und Daypart (am oder pm) Werte, und ich müssen sehen, ob das todayShift-Array ein Objekt enthält, das sich im entsprechenden dayPart befindet und den Wert stations.id hat, und dieses Objekt zurückgeben, wenn es existiert. Ich habe schon versucht, diese mit lodash:
if (typeof vm.todayShifts[dayPart] != 'undefined') {
var shift = _.find(vm.todayShifts[dayPart], {'station': station.id});
}
aber nichts zurückgegeben, auch wenn es Daten gibt, die die Kriterien entsprechen (z Daypart = „am“ und Station = 1).
Dies ist bereits in einer Schleife (innerhalb einer cell modifier für eine custom cell template mit Angular Bootstrap-Kalender), so dass ich nicht jeden Tag Schleifen möchte jedes Mal, wenn ich nicht muss, da dieser Controller wird aufgerufen ~ 30 Mal pro Seite.
Bin ich nah dran? Oder gibt es eine einfachere Möglichkeit, nach diesem Objekt zu suchen und es zu bekommen?
Danke.
Warum 'ist ein Array todayShifts', wenn Sie es wie ein Objekt behandeln. Ich weiß, Javascript ermöglicht Ihnen, seltsame Dinge wie das zu tun, aber warum ... – Damon