2012-04-14 7 views
0

ID番号をキー入力する必要があります。ユーザーがボタンをクリックすると、コードは、存在するかどうかを確認するすべてのID番号のリストを持つ配列を探します。その後、そのID番号の価格を確認します。価格とどのID番号が検索されたかに基づいて、私はこれを「費用」という変数を動的に変更したいと考えています。たとえば、ユーザーは「5555」という番号のキーを押します。ID 5555が存在する場合はコードが検索され、存在する場合はIDの価格がチェックされます。その価格に基づいて、コストと呼ばれる変数を変更します。同様に、もし私が "1234"のIDを見つけたら。 IDがあればそれを調べ、価格を得てからcostという変数を変更しました。配列は2つの異なる値と等しく、変数を動的に変更します

私はどこから始めるべきか分かりません。私はID番号と価格をマップするために配列を使うことを考えていましたが、それがうまくいくかどうかわかりません。私は本質的に別の数と等しくなるように数値を欲し、次に第2の数値に基づいて変数を変更して、それをどうするのか考えることはできません。

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

関連する問題