Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Dictionary&lt;string, T&gt;</title>
</head>
<body>
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script>
    function Player(Id, Name, RegDate, Score) {
        this.Id = Id;
        this.Name = Name;
        this.RegDate = RegDate;
        this.Score = Score;
    }
    var p1 = new Player("P1", "Jeffrey", new Date(1900, 0, 1), 32767);
    var p2 = new Player("P2", "Darkthread", new Date(2016, 6, 2), 65536);
    
    //使用JavaScript物件模擬Dictionary<string, Player>
    var dict = {};
    
    //加入或指定key為P1的內容
    dict["P1"] = p1;
    dict["P2"] = p2;
    
    //讀取key為P1的項目
    console.log("P1.Name = " + dict["P1"].Name);
    
    //檢查key是否存在
    if (dict["P1"]) console.log("P1存在");
    if (!dict["Q1"]) console.log("Q1不存在"); 
    //模擬Dictionary<string, T>.Keys
    //IE7、8相容
    var keys = [];
    for (var key in dict) keys.push(key); 
    console.log(keys);
    //IE9+及其他瀏覽器
    console.log(Object.keys(dict)); 
    
    //模擬Dictionary<string, T>.Values
    var values = $.map(keys, function(key) { return dict[key] });
    console.log("values[0].Name=" + values[0].Name);
    console.log("values[1].Name=" + values[1].Name);
    
    //移除指定key值項目
    delete dict["P1"];
    if (!dict["P1"]) console.log("P1已移除");
    
  </script>
</body>
</html>
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
darkthreadpro
0viewers