2012-12-05 5 views
-3

어리석은 질문 일 수 있습니다. 문구를 잘 모르겠습니다.자바 스크립트 변수 만들기 ... 변수가 아닙니다.

나는 함수에 배열을 가지고 있으며 루프를 통해 변수가 아닌 텍스트를 출력하고 싶습니다. 나는 이것에 머리를 두드리는 것을 시작하고있다. 그러나 정말로 나에게 무엇을 얻는 것은 단지 가치가 비어 있지 않으면 "카테고리"와 가치를 말하는 것을 인쇄하는 방법이다. 여기에 보여줄 예제와 그 결과는 "u = 1 and x = 1 AND z = 3"입니다. 누군가가 쓰기 방향으로 나를 가리킬 수 있다면, 그것은 가장 도움이 될 것입니다.

(categories called from multiple selection menus in text) 
s= 
t= 
u=1 
v= 
w= 
x=1 
y= 
z=3 
function example(s,t,u,v,w,x,y,z) { 

    selection=[s,t,u,v,w,x,y,z]; 
    for (var i=0;;i++) 
    { 
     if (!selection[i]) { 
      selection=""; 
     } 
     else 
     { 
      selection= selection + 
     }; 
    } 
} 

내가 찾고 있어요 결과는이다 "U = 1이고, x = 1 및 Z = 3"

+4

나도 몰라 시작합니다 ... – Shmiddty

+0

많은 구문 오류가 있습니다.이 코드는 UR 코드입니다. – imulsion

+0

Uhh, 우선, 루프는 무한합니다. 그렇지 않습니까? 문제는 ... 둘째, 전체 코드를 게시하지 않았습니다. 세미콜론이 누락되었습니다. (많은 것과 같이). 그리고 나는 당신이 어디에서 기능을 부르고 있는지 모른다. –

답변

1

내 책상에 아닙니다 이후 세미 기능 코드를 제공 할 것입니다. 귀하의 변수가 매개 변수 또는 일반 변수로 어딘가에 선언되었다고 가정하십시오. 당신은 배열을 통해 배열, 루프로 변수의 이름을 선언하고 당신은 자신의 이름과 값을 인쇄하는 인덱스 배열 (일명. 객체)가 필요합니다 가치

selection=["s","t","u","v","w","x","y","z"]; 
output = ""; 
    for (var i=0; i < selection.length; i++) 
    { 
     value = eval(selection[i]); 
     if (value==""){ 
      //nothing to do 
     } 
     else 
     { 
      output += selection[i] + "=" + value; 
     }; 
    } 
+0

거룩한 암소, 내 무시 무시한 질문을 통해 고마워. 이것은 내가해야 할 일에 훨씬 더 가깝다. 이제 나는 값들 사이에 "AND"를 넣는 방법을 알아야한다. 이것은 정말로 많이 가르칩니다. 감사! – StormWater

0

을 평가하기 위해 평가 기능을 사용할 수 있습니다. 당신이 수동으로 실시 모든 필드를 열거하려면

var selection = {"s": s, "t": t, "u": u, "v": v, "w": w, "x": x, "y": y, "z": z}; 
for (var i in selection) 
    document.write(i + " = " + selection[i]); 
2

, 당신은 필드 객체를 생성 한 다음 키를 반복 할 수 있습니다

이 코드에 많은 문제가 있습니다
function example(s,t,u,v,w,x,y,z){ 
    var selection = { 
     s: s, 
     t: t, 
     u: u, 
     v: v, 
     w: w, 
     x: x, 
     y: y, 
     z: z 
    }; 
    var out = ""; 
    for(var i in selection){ 
     if(selection[i]){ 
     if(!out){ 
      out += " "; // insert space between values 
     } 
     out += i + '=' + selection[i]; 
     } 
    } 
    return out; 
}