2014-12-05 5 views
-1

저는 방금 전에 javascript로 프로그래밍을 시작했습니다. 하지만 여전히 배열을 처리하는 방법과 혼동 스럽습니다. 문제는 배열에 일부 내용이 정의되지 않은 것입니다. 나는 정의되지 않은 값들을 확인하고 그것들을 벗어나고 싶다. 어떻게해야합니까? 다음 코드는 작동하지 않으며이 문제를 해결할 방법을 찾지 못했습니다.undefined가 작동하지 않음을 확인하십시오.

if(myarray[0]!=='undefined') 

if(myarray[0])!='undefined') // I have also tried 


if(myarray[0]).search('undefined')==(-1)) // and also this 

그러나 이러한 옵션 중 아무 것도 작동하지 않습니다. 배열의 값이 '정의되지 않음'이지만 조건이 충족되지 않았 음을 디버깅 할 때 알 수있었습니다. 다시 한번 나의 목표는 그것이 정의되지 않았을 때 무언가를하는 것이다. 제발 내가 어떻게 할 수 있겠 어. 나는 비슷한 질문을 발견 Test if something is not undefined in JavaScript하지만 다음과 같이 당신은 그것을 확인해야합니다

+0

[뭔가 자바 스크립트에서 정의되지 있지 않은 경우 테스트]의 중복 가능성 (http://stackoverflow.com/questions/7041123/test-if-something-is-not-undefined-in -javascript) – JJJ

답변

0

작동하지 않습니다 당신은 그것의 다른 그래서 문자열 인 'undefined'undefined을 비교하는 if(typeof(myarray[0]) != 'undefined')

1

. 이 같은 비교해야 : 당신은 undefined의 문자열 값으로 myarray[0] 값을 비교하고

myarray=[undefined]; 
if(myarray[0]!==undefined){ 
    console.log(4) 
} 
+0

undefined는 쓰기 가능한 전역 속성이기 때문에 안전하지 않습니다. –

+0

잘, http://stackoverflow.com/questions/7041123/test-if-something-is-not-undefined-in-javascript에서 가장 높은 투표 응답은 똑같습니다. 그래도 좋은 점은 관심있는 사람들에게 – juvian

+0

[JavaScript 1.8.5 이후가 아닙니다.] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined)입니다. – chazsolo

1

.

는 당신이 필요로하는 것은 이것이다 :이 도움이

if (typeof(myarray[0]) !== 'undefined') 

희망!

1

주디안이 좋은 대답을 제공했습니다. 배열을 문자열과 비교하기 때문에 'undefined'대신 undefined를 사용해야합니다.

현재 프로젝트에서 밑줄을 사용하여 정의되지 않았는지 확인합니다. 그것은 매우 간단하고 간단합니다.

var array = []; 
if (_.isUndefined(array)); 

http://underscorejs.org/#isUndefined

관련 문제