2012-04-14 6 views
0

사용자가 ID 번호를 입력하기를 원합니다. 사용자가 버튼을 클릭하면 코드는 모든 ID 번호의 목록이있는 배열을 찾습니다. 그런 다음 해당 ID 번호의 가격을 확인합니다. 가격과 ID 번호를 기반으로하여 '비용'이라는 변수를 동적으로 변경하기를 원합니다. 그래서 예를 들어, 사용자는 "5555"라는 숫자를 입력합니다. ID 5555가 존재하면 코드가 조회되고, ID 5555가 존재하면 해당 ID의 가격을 확인합니다. 그 가격을 바탕으로 비용이라는 변수를 변경하고 싶습니다. 마찬가지로, 내가 "1234"의 이드를 찾으면. ID가 존재한다면, 가격을 얻은 다음 비용이라는 변수를 변경했습니다.배열이 서로 다른 두 개의 값을 같게하고 변수를 동적으로 변경합니다.

어디서부터 시작해야할지 모르겠다. ID 번호와 가격을 매핑하기 위해 배열을 사용하려고 생각했지만 작동 할 지 모르겠다. 숫자가 본질적으로 다른 숫자와 같고 두 번째 숫자를 기반으로 변수를 변경하기를 원하며 그 방법을 생각할 수 없습니다.

id[0] = new Array(2) 
id[1] = "5555"; 
id[2] = "6789"; 
price = new Array(2) 
price[0] = 45; 
price[1] = 18; 

답변

1

개체를 개체처럼 사전으로 사용할 수 있습니다.

// Default val for cost 
var cost = -1; 

// Create your dictionary (key/value pairs) 
// "key": value (e.g. The key "5555" maps to the value '45') 
var list = { 
    "5555": 45, 
    "6789": 18 
}; 

// jQuery click event wiring (not relevant to the question) 
$("#yourButton").click(function() { 
    // Get the value of the input field with the id 'yourInput' (this is done with jQuery) 
    var input = $("#yourInput").val(); 

    // If the list has a key that matches what the user typed, 
    // set `cost` to its value, otherwise, set it to negative one. 
    // This is shorthand syntax. See below for its equivalent 
    cost = list[input] || -1; 

    // Above is equivalent to 
    /* 
    if (list[input]) 
     cost = list[input]; 
    else 
     cost = -1; 
    */ 

    // Log the value of cost to the console 
    console.log(cost); 
}); 
+0

더 자세히 설명해 주시겠습니까? 나는 그것이 어떻게 작동하는지 이해하지 못한다. – Brian

+0

@Brian 의견을 추가했습니다. 그걸 잘라 내지 않으면 알려주지. – Chris

관련 문제