빈 값을 제거하는 기능안녕하세요, 목록에서 빈 값을 제거하는 간단한 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);
스크립팅Re : 빈 값을 제거하는 기능함수의 마지막 문으로 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 );Re : 빈 값을 제거하는 기능감독자! 그것은 내 문제였습니다!
Re : 빈 값을 제거하는 기능당신을 위해 일한 다행. 이를 위해 함수를 만들 필요가 없다는 점을 지적해야합니다.
그만큼 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 ()로 .