Funktion zum Entfernen leerer WerteHallo, ich versuche eine einfache JSL-Funktion zu schreiben, um leere Werte aus einer Liste zu entfernen.
Kann mir jemand helfen, diesen Code zu optimieren? (es gibt mir null zurück)
Danke, 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);
SkriptingBetreff: Funktion zum Entfernen leerer WerteSie müssen x als letzte Anweisung in Ihrer Funktion zurückgeben.
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 );Betreff: Funktion zum Entfernen leerer WerteSuper! Das war mein Problem!
Betreff: Funktion zum Entfernen leerer WerteIch bin froh, dass das für dich funktioniert hat. Ich sollte darauf hinweisen, dass Sie dafür keine Funktion erstellen müssen.
Das Loc () Funktion gibt Ihnen die Indizes der Leerzeichen in der Liste und dann können Sie verwenden Entfernen() oder Entfernen von() um sie alle auf einmal loszuwerden.
myList = {"apple", "orange", "banana", "", "grape", "", "plum"};
blanks = Loc( mylist, "" ); // [4,6]
blanks = As List( blanks ); // {4, 6}
Remove From( mylist, blanks );
Der einzige Trick dabei ist, dass Loc () eine Matrix zurückgibt und Remove () und Remove From () ein Listenargument wünschen, sodass Sie es neu formulieren müssen Als Liste () .