본문 바로가기

Spring

toUpperCase is not a function 자바스크립트

 

 var array_check = ['jpg', 'jpeg', 'gif','png'];
 if ($.inArray(ext,array_check ) <= 0 && $.inArray(ext, array_check.toUpperCase() ) <= 0      ) {
	alert("등록이 불가능한 파일 입니다.("+fileName+")");
} 

파일 확장자 체크를 할 일이 있어서 inArray를 사용했다.

 

이렇게 사용했더니 toUpperCase is not a function 에러가 떳다.

찾아보니깐 toUpperCase() 기능은 배열 대상으로 동작하지않는다고한다. 

따로 펑션을  만들어줘야 한다는것 같음 .. 

 

그래서 이렇게 바꾸었더니 작동햇습니다

 function greet(lowerArray){
        	for(var i=0; i< lowerArray.length;i++){
        		var lower = lowerArray[i].toUpperCase();
        		lowerArray[i] = lower;
        	}
        	return lowerArray;
}

를 만들고

 var array_check = ['jpg', 'jpeg', 'gif','png'];
 if ($.inArray(ext,array_check ) <= 0 && $.inArray(ext, greet(array_check) ) <= 0      ) {
	alert("등록이 불가능한 파일 입니다.("+fileName+")");
} 

이렇게하니깐 저 array_check 의 내용물이 다 대문자로 바뀌었음... 

 

이렇게하는게 맞나요??

하라고해서 찾아보면서 하기는 하는데 

이게 맞는건지 모르니까 답답함..