去除空白值的功能嗨,我正在尝试编写一个简单的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() 。