2013-08-11 2 views
1

많은 js 변수가 있습니다. 일부 변수는 괜찮습니다. 일부 변수는 설정할 수 없으며 정의되지 않은 변수로 나타납니다. undefined는 html 페이지에 나타납니다.JavaScript가 정의되지 않은 변수

js가 어떻게되었습니다.

<script> 
var externalData = 'data,data,data\n' 
       + 'data,data,data\n' 
       + 'data,data,data\n' 
       + 'data,data,data\n' 
       + 'data,data,data'; 
// split the string into rows, and split each row into cells 
var parsed = externalData.split('\n').map(function(row) { 
    return row.split(','); 
}); 
</script> 
</html> 
<script> 
// I try this but not working. 
if (parsed[4][6] !== undefined) 
{ 
    var parsed[4][6] = null; 
} 
</script> 
<script>document.write(parsed[0][0]);</script> 
<script>document.write(parsed[4][6]);</script> 

브라우저에 출력 할 것이다이다 미정

데이터

파싱 [0] [0] 데이터 '그러나'는 파싱 [4] 6] 테이블에 존재하지 않습니다. 글쎄, 사용자가 정의되지 않은 것을보고 싶지는 않지만 아무것도보고 싶지 않습니다. 예를 들어이 들어

:

데이터 대신 정의되지 않은이

데이터의

단지 document.write(parsed[4][6]);하지만 돈을 제거하여 내가 정의되지 않은 제거 할 수 있습니다 이걸하고 싶지 않아. 이 페이지를 유지하려면 위의 데이터 표를 수정하고 싶지 않습니다.

+0

"underfunded"는 아마도 "undefined"에서 내가 가장 좋아하는 자동 수정 변형입니다 ... – nneonneo

+0

죄송합니다, 업데이트 됨 ... – user2670708

+0

아래에서 시도한 것보다 대체 (및 IMO 개선) 솔루션이 있지만 수행 할 수도 있습니다 네가하는 길이야. 붙여 넣은 코드에는 두 가지 문제가 있습니다. 즉,'parsed [4] [6] == undefined'가 있어야합니다. 'parsed [4] [6] === undefined' 그리고'var' at 다음 코드 행의 시작도 없어야합니다. 이러한 변경 작업을 마친 후에는 효과가 있습니다. – Jules

답변

1

parsed[4][6] 문자열 또는 undefined 중 하나 인 경우, 당신은 단순히

parsed[4][6] || '' 

사용할 수 있습니다 (parsed[4][6] 문자열이 아닌 다른, 예를 들어 숫자가 될 수 있다면, 이것은 약간의 각별한주의가 필요합니다.)

+0

그것의 것 같습니다 .. – user2670708