2012-02-18 144 views
0

對象值我有一個卡一個數組對象:for循環不能找到在陣列

$(document).ready(function() { 
    var totalPlayer = 12;  
var cards = [ 
      {"card": 2, "value": 2, "suit": "d"}, 
      {"card": 2, "value": 2, "suit": "c"}, 
      {"card": 2, "value": 2, "suit": "h"}, 
      {"card": 2, "value": 2, "suit": "s"}, 
      {"card": 3, "value": 3,... 
      {"card": "a", "value": 11, "suit": "s"}]; 
$('#butStart').click(processIt); 

和循環:

function processIt() { 
    for (var i = 0; i < cards.length; i++) { 
     if (cards[i].card === "a" && totalPlayer > 11) { 
      cards[i].value = 1; 
     } 
     else if (cards[i].card === "a") { 
      cards[i].value = 11; 
     } 
    } 
    alert(cards[50].value + cards[50].card); 
} 

我無法弄清楚,爲什麼我收到錯誤消息「不能讀取未定義的屬性'卡'

+0

你有沒有嘗試過使用'for(var i = 0; i summea 2012-02-18 02:18:54

+0

你剛纔在你的卡片數組中遇到了一個錯字 – Dampsquid 2012-02-18 02:21:04

+1

是的,發現它是雙',',對不起,謝謝你們。 – user1114060 2012-02-18 02:23:05

回答

0

因爲你的JSON中沒有51項......?

+0

如果是這樣,錯誤將在'.value'而不是'.card'上。問題中沒有任何JSON。 – 2012-02-18 02:24:39

0

你必須引用您的所有數據,我試着用它和它worls像一個魅力:

var cards = [ 
      {"card": "2", "value": "2", "suit": "d"}, 
      {"card": "2", "value": "2", "suit": "c"}, 
      {"card": "2", "value": "2", "suit": "h"}, 
      {"card": "2", "value": "2", "suit": "s"}, 
      {"card": "3", "value": "3",... 
      {"card": "a", "value": "11", "suit": "s"}]; 

此外,您還需要將數據傳遞給你的函數:

$('#butStart').click(processIt(cards)); 
function processIt(cards) {...}