2012-06-28 2 views
0

그래, 정적 배열의 값이 0인지 음수인지 아니면 0인지 확인하기 위해 코드를 작성하려고합니다.Javascript - 배열의 값이 양수인지, 음수인지 (스위치 사용)

그래서 배열이 채워지며 값이 0보다 크거나 같거나 작은 지 여부에 따라 값과 출력 텍스트를 살펴 보려면 switch 문을 사용합니다.

여기 내가 지금까지 해왔 던 일부 코드가 있습니다.

스위치 사용과 관련된 답변을 유지하십시오! 미리 감사드립니다.

참고 : 저는 JS를 가르치기 때문에이 책을 처음 접했습니다. 지금까지 내 코드는 다음과 같습니다.

// JavaScript Document 

var numbers=new Array(); 
numbers[0]="1";  
numbers[1]="2"; 
numbers[2]="3"; 
numbers[3]="-1";  
numbers[4]="-2"; 
numbers[5]="-3"; 
numbers[6]="0"; 



switch (numbers) { 
    case "positive": 
     if (numbers>0) 
     {alert("DERP")}; 
    break; 
    case "negative": 
     if (numbers<0) 
     {alert("NO DERP")}; 
    break; 
    case "zero": 
     if (numbers==0) 
     {alert("STILL DERP")}; 
    break; 
} 
+2

힌트 : 각 요소를 보면 배열을 반복해야합니다. –

+0

실례합니다. 잘못된 것이지만 숙제와 많이 비슷합니다. : P 어떤 경우라도 [switch/cases] (https://developer.mozilla.org/en/JavaScript/Reference/Statements/switch)가 js로 구성된 방법을 찾아 본 다음 하나의 값으로 시도해보십시오. 그런 다음 ([루프 만들기]) (https://developer.mozilla.org/en/JavaScript/Reference/Statements/for) 시도하십시오. –

+0

왜 스위치 조건을 사용해야합니까? 루프가이를 확인하는 일반적인 방법입니다. – j08691

답변

1

문자열과 숫자를 비교합니다. 배열의 숫자는 ""로 둘러 쌉니다.이 문자열입니다. 어레이의 ""을 제거하거나 스위치에 ""을 추가하십시오.

+0

와우, 참으로 나는 그것들을 제거했다 .. 여전히 효과가 없을 것이다. 지금 다른 사람들의 다른 의견을보고 있습니다. 네, 배열을 사용해야합니다. 나는 스위치가 그것을 할 수 있는지 궁금했다. –

3

배열을 반복하여 각 요소를 확인해야합니다. A switch은 올바른 도구가 아닙니다. 원하는대로 할 수 없습니다. switch es는 if/else을 수행하는 방법 일 수 있지만 같음/같지 않음보다 큰지 여부 만 확인합니다.

var str = 'a' 

switch(str){ 
    case 'a': 
     alert(1); 
     break; 
    case 'b': 
     alert(2); 
     break; 
    default: 
     alert(0); 
     break; 
} 

이 경고는 1입니다. str의 값이 (당신이 case에서 < 또는 >을 사용할 수 없습니다)이 case 문 중 하나와 일치하는 경우

, 코드가 실행됩니다. 그렇지 않으면 defualt이 실행됩니다. 그들은 "레이블"이 아니므로 case 안에있는 값을 검사하는 것은 의미가 없습니다.

루프를 수행 한 다음 if/else을 사용해야합니다.

for(var i=0, len=numbers.length; i<len; i++){ 
    var num = numbers[i]; 

    if(num > 0) alert('DERP'); 
    else if(num < 0) alert("NO DERP"); 
    else alert("STILL DERP"); 
}