去除空白值的功能嗨,我正在嘗試編寫一個簡單的JSL函數,以從列表中刪除空白值。
有人可以幫我調整此代碼嗎?(它向我返回null)
謝謝,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);
腳本編寫回复:去除空白值的功能您需要返回x作為函數中的最後一條語句。
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 );回复:去除空白值的功能超!那是我的問題!
回复:去除空白值的功能很高興為您服務。我應該指出,您實際上不需要創建一個函數來執行此操作。
的 Loc() 函數將為您提供列表中空白的索引,然後您可以使用去掉() 要么從......中去除() 一次擺脫它們。
myList = {"apple", "orange", "banana", "", "grape", "", "plum"};
blanks = Loc( mylist, "" ); // [4,6]
blanks = As List( blanks ); // {4, 6}
Remove From( mylist, blanks );
這裡唯一的技巧是Loc()返回一個矩陣,而Remove()和Remove From()需要一個列表參數,因此您必須重鑄它作為List() 。