Funzione per eliminare i valori vuotiCiao, sto cercando di scrivere una semplice funzione JSL per rimuovere i valori vuoti da un elenco.
Qualcuno può aiutarmi a modificare questo codice? (mi restituisce null)
grazie, DJ
myList={"apple","orange","banana","","grape","","plum"};
StripBlanks = function({x},
for(a=nitems(x),a>=1,a--,
if(
x[a]=="",
x=remove(x,a)
)
)
);
StripBlanks(myList);
ScriptingRi: funzione per eliminare i valori vuotiDevi restituire x come ultima istruzione nella tua funzione.
myList = {"apple", "orange", "banana", "", "grape", "", "plum"};
StripBlanks = Function( {x},
For( a = N Items( x ), a >= 1, a--,
If( x[a] == "",
x = Remove( x, a )
)
);
x;
);
StripBlanks( myList );Ri: funzione per eliminare i valori vuotiSuper! Questo era il mio problema!
Ri: funzione per eliminare i valori vuotiSono contento che abbia funzionato per te. Devo sottolineare che non è necessario creare una funzione per farlo.
Il Loc () la funzione ti darà gli indici degli spazi nella lista e poi potrai usare Rimuovere() o Rimuovere da() per eliminarli tutti in una volta.
myList = {"apple", "orange", "banana", "", "grape", "", "plum"};
blanks = Loc( mylist, "" ); // [4,6]
blanks = As List( blanks ); // {4, 6}
Remove From( mylist, blanks );
L'unico trucco qui è che Loc () restituisce una matrice e Remove () e Remove From () vogliono un argomento della lista, quindi devi riformularlo Come elenco () .