Lodash gruppiert nach mehreren Eigenschaften, wenn der Eigenschaftswert true ist

Ich habe eine Reihe von Fahrzeugen, die nach Marke und Modell gruppiert werden müssen, nur wenn die Eigenschaft 'selected' wahr ist. Das resultierende Objekt sollte Eigenschaften für make model und count enthalten. Wie kann ich mit lodash die Fahrzeugobjekte in die gewünschten Ergebnisobjekte organisieren? Ich kann die Fahrzeugobjekte nach makeCode gruppieren, bin mir aber nicht sicher, wie ich sie nach mehreren Eigenschaften gruppieren soll.

group by make code works

      var vehicles = _.groupBy(response.vehicleTypes, function(item)
      {
        return item.makeCode; // how to group by model code as well
      });

ahrzeu

{
    id: 1, 
    selected: true, 
    makeCode: "Make-A", 
    modelCode: "Model-a", 
    trimCode: "trim-a", 
    yearCode: "2012"
},
{
    id: 2, 
    selected: false, 
    makeCode: "Make-A", 
    modelCode: "Model-a", 
    trimCode: "trim-a", 
    yearCode: "2013"
},
{
    id: 3, 
    selected: true, 
    makeCode: "Make-B", 
    modelCode: "Model-c", 
    trimCode: "trim-a", 
    yearCode: "2014"
},
{
    id: 25, 
    selected: true, 
    makeCode: "Make-C", 
    modelCode: "Model-b", 
    trimCode: "trim-b", 
    yearCode: "2012"
},
{
    id: 26, 
    selected: true, 
    makeCode: "Make-C", 
    modelCode: "Model-b", 
    trimCode: "trim-a", 
    yearCode: "2013"
}

Ergebnisobjekt

{
    Make-A: {
        Model-a: {
            count: 1
        }
    }
},

{
    Make-B: {
        Model-c: {
            count: 1
        }
    }
},
{
    Make-C: {
        Model-b: {
            count: 2
        }
    }
}

Antworten auf die Frage(12)

Ihre Antwort auf die Frage