Uncaught TypeError: невозможно прочитать свойство codiCombi из undefined - PullRequest
0 голосов
/ 28 мая 2020

, почему я получаю эту ошибку:

Это мой код:

function cargaEnquesta(sessionActual, tActivitatsArray){
    //some stuff
    var objectJson = JSON.parse(JSON.stringify(tActivitatsArray[count]));
    var nameActivity= "";
    console.log("count "  + count+" " + JSON.stringify(tActivitatsArray[count]));
    if (tActivitatsArray[contador].length>1){                
        fTrobarNom(tActivitatsArray[count],"",objectJson[count].codiCombi,"","activ");
    }
    else{
      //other stuff
    }
    //other stuff
}


Вот результат преобразования в строку и вывод консоли:

count 0 [{"mostrIdioma":"S","calendariWeb":"S","nomActiv":"Visita Museu","codiActiv":"1","tipus":"S","nomCombi":"Visita Museu + Taller A","codiCombi":"1","idioma":"0"},{"mostrIdioma":"S","calendariWeb":"S","nomActiv":"Taller A","codiActiv":"3","tipus":"S","nomCombi":"Visita Museu + Taller A","codiCombi":"1","idioma":"0"}]

count 1 [{"mostrIdioma":"S","calendariWeb":"S","nomActiv":"Visita Museu","codiActiv":"1","tipus":"S","idioma":"0"}]


count 2 [{"mostrIdioma":"S","calendariWeb":"S","nomActiv":"Visita Museu","codiActiv":"1","tipus":"S","nomCombi":"Visita Museu + Taller A","codiCombi":"1","idioma":"0"},{"mostrIdioma":"S","calendariWeb":"S","nomActiv":"Taller A","codiActiv":"3","tipus":"S","nomCombi":"Visita Museu + Taller A","codiCombi":"1","idioma":"0"}]

mainFunctions.js?v2.3:2643 Uncaught TypeError: Cannot read property 'codiCombi' of undefined
    at Object.<anonymous> (mainFunctions.js?v2.3:2643)
    at Function.each (jquery-1.12.4.js:370)

Почему я получение ошибки: Uncaught TypeError: Cannot read property 'codiCombi' of undefined путем выполнения objectJson[count].codiCombi

А почему ошибка появляется при счёте 2? Как показывает stringify, у меня есть свойство codiCombi.

Также я не понимаю, почему ошибка не появляется, когда число равно 0.

1 Ответ

1 голос
/ 28 мая 2020

Когда count равно 2, это значение вашего tActivitatsArray:

[
  {"mostrIdioma":"S","calendariWeb":"S","nomActiv":"Visita Museu","codiActiv":"1","tipus":"S","nomCombi":"Visita Museu + Taller A","codiCombi":"1","idioma":"0"},
  {"mostrIdioma":"S","calendariWeb":"S","nomActiv":"Taller A","codiActiv":"3","tipus":"S","nomCombi":"Visita Museu + Taller A","codiCombi":"1","idioma":"0"}
]

Он имеет только 2 элемента. Когда вы вызываете objectJson[count], когда count равно 2, он возвращает undefined, поскольку нет «третьего» элемента (элемент с индексом 2 является третьим элементом).

objectJson[2].codiCombi;

// is equal to

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