v'è una scorciatoia per le seguenti -Stenografia per più o espressioni in if
if(tld == "com" || tld == "net" || tld == "co" || tld == "org" || tld == "info" || tld == "biz")
{
//do something;
}
v'è una scorciatoia per le seguenti -Stenografia per più o espressioni in if
if(tld == "com" || tld == "net" || tld == "co" || tld == "org" || tld == "info" || tld == "biz")
{
//do something;
}
è possibile utilizzare una serie
if(["","com","net","co","org","info","biz"].indexOf(tld) > -1) {
// do something
}
o se si sta utilizzando jQuery:
$.inArray(tld, ["com","net","co","org","info","biz"])
Hai dimenticato '! = -1' come' 0' sarebbe un risultato perfettamente valido ('com'). – ThiefMaster
Attento con il primo codice IF, come una stringa vuota - '[" ",' - valuta anche a * false *, * undefined * e * null *. Pertanto, se ** tld ** fosse uno di questi, prima IF passerebbe comunque! Meglio usare 'if ([" com "," net "," co "," org "," info "," biz "]. IndexOf (tld)> -1)' –
Utilizzare un regexp:
if (/^(com|net|co|org|info|biz)$/i.test(tld)) {
// do something
}
come gestirà se tld è "cot" che contiene "co"? Ok, hai aggiunto l'inizio e la fine come ho postato. – hackartist
non è regexp più lento per quanto riguarda le prestazioni? – ShalomSam
@ShalomSam Non lo so, non è una micro-ottimizzazione che ho provato ancora. –
avete pensato sull'utilizzo di istruzione switch? qualcosa di simile:
switch(tld)
{
case 'com':
case 'net':
case 'co':
...
...
// do something for all of them
break;
default:
// if you want you can have default process here
break;
}
ci ho pensato .. ma preferiresti usare un interruttore quando hai diverse esecuzioni in casi diversi. E ancora di più sto cercando una stenografia, non rendendo il mio codice più lungo. Grazie per la risposta anche se molto apprezzata! – ShalomSam
@Hamish Dice javascript, Ho modificato i tag di conseguenza. – purtip31
Dai un'occhiata a http://stackoverflow.com/a/10479102/298479 - Ho spiegato un bel po 'di metodi per fare ciò che vuoi e anche collegato a un confronto delle prestazioni nel caso che ti interessi. – ThiefMaster
@ purtip31 - Grazie. – ShalomSam