Why does not print what you want in console [closed]

0
var subGrupos = {
    none:-1,
    aoa:1,
    lacteos:2



};

var Eqs = {
    verduras:0,
    frutas:1,
    cereales:2,
    leguminosas:3,
    aoa_mba:4,
    aoa_ba:5,
    aoa_ma:6,
    aoa_aa:7,
    leche_des:8,
    leche_semi:9,
    leche_entera:10,
    aceite_sp:11,
    aceite_cp:12,
    azucar:13

};

var Grupos = [
    {name:Eqs.verduras,value:[2,0,4], Sub:subGrupos.none} ,
    {name:Eqs.frutas,value:[0,0,15],Sub:subGrupos.none},
    {name:Eqs.cereales,value:[2,0,15],Sub:subGrupos.none},
    {name:Eqs.leguminosas,value:[2,5,15],Sub:subGrupos.none},
    {name:Eqs.aoa_mba,value:[7,1,0],Sub:subGrupos.aoa},
    {name:Eqs.aoa_ba,value:[7,3,0],Sub:subGrupos.aoa},
    {name:Eqs.aoa_ma,value:[7,5,0],Sub:subGrupos.aoa},
    {name:Eqs.aoa_aa,value:[7,8,0],Sub:subGrupos.aoa},
    {name:Eqs.leche_des,value:[9,2,12],Sub:subGrupos.lacteos},
    {name:Eqs.leche_semi,value:[9,4,12],Sub:subGrupos.lacteos},
    {name:Eqs.leche_entera,value:[9,8,12],Sub:subGrupos.lacteos},
    {name:Eqs.aceite_sp,value:[0,5,0],Sub:subGrupos.none},
    {name:Eqs.aceite_cp,value:[3,5,3],Sub:subGrupos.none},
    {name:Eqs.azucar,value:[0,0,10],Sub:subGrupos.none}


];

var Enlista = [];


for (var i = 0; i < Grupos.length; i++) {
    if (Grupos[i].sub > subGrupos.none) {
        if (Enlista.indexOf(Grupos[i].name)) {
            Enlista.push(Grupos[i].name);
            console.log(Grupos[i].sub);
        }
        else {
          Enlista.push(Grupos[i].name);
          console.log(Grupos[i].sub); 
        }
    }
}
    
asked by Juan Ramon Marquez Muñoz 26.07.2017 в 23:40
source

2 answers

1

Do not print what you want because the property is called Sub while you're searching sub .

Replace

Grupos[i].sub
console.log(Grupos[i].sub); 

By

Grupos[i].Sub
console.log(Grupos[i].Sub); 
    
answered by 26.07.2017 в 23:46
0

You are calling erroneously:

at the top is:

Sub

While in the lower part you call it this way:

sub

Correcting this error the code would be like this:

var subGrupos = {
    none:-1,
    aoa:1,
    lacteos:2



};

var Eqs = {
    verduras:0,
    frutas:1,
    cereales:2,
    leguminosas:3,
    aoa_mba:4,
    aoa_ba:5,
    aoa_ma:6,
    aoa_aa:7,
    leche_des:8,
    leche_semi:9,
    leche_entera:10,
    aceite_sp:11,
    aceite_cp:12,
    azucar:13

};

var Grupos = [
    {name:Eqs.verduras,value:[2,0,4], Sub:subGrupos.none} ,
    {name:Eqs.frutas,value:[0,0,15],Sub:subGrupos.none},
    {name:Eqs.cereales,value:[2,0,15],Sub:subGrupos.none},
    {name:Eqs.leguminosas,value:[2,5,15],Sub:subGrupos.none},
    {name:Eqs.aoa_mba,value:[7,1,0],Sub:subGrupos.aoa},
    {name:Eqs.aoa_ba,value:[7,3,0],Sub:subGrupos.aoa},
    {name:Eqs.aoa_ma,value:[7,5,0],Sub:subGrupos.aoa},
    {name:Eqs.aoa_aa,value:[7,8,0],Sub:subGrupos.aoa},
    {name:Eqs.leche_des,value:[9,2,12],Sub:subGrupos.lacteos},
    {name:Eqs.leche_semi,value:[9,4,12],Sub:subGrupos.lacteos},
    {name:Eqs.leche_entera,value:[9,8,12],Sub:subGrupos.lacteos},
    {name:Eqs.aceite_sp,value:[0,5,0],Sub:subGrupos.none},
    {name:Eqs.aceite_cp,value:[3,5,3],Sub:subGrupos.none},
    {name:Eqs.azucar,value:[0,0,10],Sub:subGrupos.none}


];

var Enlista = [];


for (var i = 0; i < Grupos.length; i++) {
    if (Grupos[i].Sub > subGrupos.none) {
        if (Enlista.indexOf(Grupos[i].name)) {
            Enlista.push(Grupos[i].name);
            console.log(Grupos[i].Sub);
        }
        else {
          Enlista.push(Grupos[i].name);
          console.log(Grupos[i].Sub); 
        }
    }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
answered by 26.07.2017 в 23:54