a parte il doppio uguale (mi è scappato perchè ho scritto la funzione al volo), la mia stringa è molto più complicata. ecco cosa devo fare:
for(k=i+1;k<=j;k++){
if(parseInt(tabella[k][colonna])>parseInt(tabella[i][colonna]))
return(tabella[k][colonna]);
else if(parseInt(tabella[k][colonna])<parseInt(tabella[i][colonna]))
return(tabella[i][colonna]);
}
quello che c'è dentro al for può essere scritto così come sopra, oppure in questo modo:
if(parseInt(tabella[k][colonna])>parseInt(tabella[i][colonna]))
return(tabella[k][colonna]);
else if(parseInt(tabella[k][colonna])<parseInt(tabella[i][colonna]))
return(tabella[i][colonna]);
il fatto di concatenare o no i vari parseInt dipende dal parametro "num" che arriva alla function. ecco come ho scritto la mia funzione (sono andato a capo solo per spezzare le varie parti della stringa finale per essere più chiaro):
str=''if(''+
((num)?''parseInt('':'''')+
''tabella[k][colonna]''+
((num)?'')'':'''')+
''>''+
((num)?''parseInt('':'''')+
''tabella[i][colonna]''+
((num)?'')'':'''')+
'') return(tabella[k][colonna]; else if(''+
((num)?''parseInt('':'''')+
''tabella[k][colonna]''+
((num)?'')'':'''')+
''<''+
((num)?''parseInt('':'''')+
''tabella[i][colonna]''+
((num)?'')'':'''')+
'') return(tabella[i][colonna])'';
for(k=i+1;k<=j;k++){
eval(str);
}
ci sono altri modi secondo voi per farlo?

Rispondi quotando