цикл не может найти значение объекта в массиве - PullRequest
0 голосов
/ 18 февраля 2012

У меня есть массив с картами в качестве объектов:

$(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);
}

Я не могу понять, почему я получаю сообщение об ошибке "не могупрочитать свойство 'карточка' из неопределенного "

Ответы [ 2 ]

0 голосов
/ 18 февраля 2012

Вы должны процитировать все свои данные, я пробовал с ними, и это выглядит как очарование:

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) {...}
0 голосов
/ 18 февраля 2012

Поскольку в вашем JSON нет 51 элемента ...?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...