buongiorno a tutti.
ho una funzione così definita:
la questione è che le ultime due condizioni, ovvero:codice:function filtra(array, kmin, kmax, fmin, fmax, country, city){ for(var i=0;i<array.length;i++){ if(array[i].km >= kmin && array[i].km <= kmax && array[i].frequenza >= fmin && array[i].frequenza <= fmax && array[i].nazione_arrivo == country && array[i].citta_arrivo == city){ //istruzioni } }
vanno verificate solo se le variabili "country" e "city" sono diverse da null. chiaramente le due condizioni sono indipendenti, nel senso che, ad esempio, se country è null e city non lo è, va effettuato il controllo su city ma non su country.codice:array[i].nazione_arrivo == country && array[i].citta_arrivo == city
per risolvere il problema ho pensato di utilizzare l'operatore ternario, in questo modo:
quindi se il contenuto di, ad esempio, "country" è diverso da null, esegue il confronto. se invece è null, devo dirgli in qualche modo di non effettuare alcun controllo. cosa scrivere dopo i due punti, per ottenere questo risultato?codice:for(var i=0;i<array.length;i++){ if(array[i].km>=kmin && array[i].km<=kmax && array[i].frequenza>=fmin && array[i].frequenza<=fmax && country != "null" ? array[i].nazione_arrivo==country : /*cosa mettere qui?*/ && city != "null" ? array[i].citta_arrivo==city : /*cosa mettere qui?*/){ //istruzioni } }
spero di essere stato chiaro, grazie a chi vorrà rispondermi

Rispondi quotando
