If else array

di Anonimizzato32252 il
8 risposte
Ciao a tutti, ho iniziato il corso su JavaScript, e come compito si deve creare un software che deve fare determinate cose.
Tra cui deve controllare se in un array e presente un valore inferiore a 6. Quello che sono riuscito a fare è questo:
function controlloInsufficenze(arr){
for(i=0;i<arr.length;i++){
if (arr<6){
var votiInsufficenze=(arr);
}
}
if (votiInsufficenze.length<4){
console.log("promosso")
}
else if(votiInsufficenze.length=0){
console.log("promosso")
}
else if(votiInsufficenze.length>3){
console.log("bocciato")
}
else if(votiInsufficenze.length<=2) {
console.log("promosso")
}


}

var pagellaAlunno1=[6,6,6,5,5];
controlloInsufficenze(pagellaAlunno1)


Ma funziona solo in parte, a me serve sapere solo quante insufficienze ci sono.
So che forse è una cosa banale per voi ma mi sarebbe molto d'aiuto un consiglio (non la soluzione perché sarebbe troppo semplice )

8 Risposte

  • Non so perché ma mi ha cancellato parte del codice
    function controlloInsufficenze(arr){
    for(i=0;i<arr.length;i++){
    if (arr<6){
    var votiInsufficenze=(arr);
    }
    }
  • Leggi il regolamento per sapere come si posta il codice sul forum
  • GxMich ha scritto:


    Ciao a tutti, ho iniziato il corso su JavaScript, e come compito si deve creare un software che deve fare determinate cose.
    Tra cui deve controllare se in un array e presente un valore inferiore a 6. Quello che sono riuscito a fare è questo:
    function controlloInsufficenze(arr){
        for(i=0;i<arr.length;i++){
            if (arr[i]<6){
                var votiInsufficenze=(arr[i]);
            }
        }
                            if  (votiInsufficenze.length<4){
                            console.log("promosso")
                            }
                            else if(votiInsufficenze.length=0){
                            console.log("promosso")
                            }
                            else if(votiInsufficenze.length>3){
                            console.log("bocciato")
                            }
                            else if(votiInsufficenze.length<=2) {
                            console.log("promosso")
                            }
    
    
    }
    
    var pagellaAlunno1=[6,6,6,5,5];
    controlloInsufficenze(pagellaAlunno1)
    

    Ma funziona solo in parte, a me serve sapere solo quante insufficienze ci sono.
    So che forse è una cosa banale per voi ma mi sarebbe molto d'aiuto un consiglio (non la soluzione perché sarebbe troppo semplice )
  • Intanto lo questa
    [CODE] var votiInsufficenze=(arr[i]); che senso ha? Devi solo contare le insufficienze, quindi una variabile inizializzata a zero fuori dal ciclo che aumenti di 1 nel ciclo.

    E poi fai le if su questa variabile contatore fuori dal ciclo
  • Un cosa del tipo..
     function controlloInsufficenze(arr){
        var err=0;
        for(i=0;i<arr.length;i++){ 
            if (arr[i]<6){
              err=+1
            }
              
        } 
    console.log(err)
    } 
    var pagellaAlunno1=[6,6,5,5,5]; 
    controlloInsufficenze(pagellaAlunno1)
    
  • Questo

    err=+1

    non aumenta err. Va bene che hai iniziato il corso, ma dovresti sapere come si incrementa una variabile. Sono le basi.
  • Hai ragione, ho solo avuto un attimo di confusione ma alla fine ho risolto grazie mille, ora però sto avendo un problema con un altro if else.
    function controlloDati(arr){
        for(i=0;i<arr.length;i++){
            var dati=[arr[i]];
        }
        if (dati <1){
            return false;
        }
        else if (dati>10){
            return false;
        }
        else{
            return true;
        }
    }
    
    var pagellaAlunno1=[4,5,8,6,9];
    
    
    
    if(controlloDati(pagellaAlunno1)==false){
        console.log("e false");
    }
    else if(controlloDati(pagellaAlunno1)==true) {
        console.log("e true");
                    
    
    Mi restituisce sempre true ma non capisco perché..
  • Scusa ma cosa fa quel codice??
Devi accedere o registrarti per scrivere nel forum
8 risposte