这是我的代码:
var cleanname = v.name.replace(/\s/g, "_").toLowerCase();
if(typeof(kpiValues[v.category]) === "undefined") {
kpiValues[v.category] = {};
if(typeof(kpiValues[v.category][cleanname] === "undefined")) {
kpiValues[v.category][cleanname] = [];
}
}
if(departments !== "default") {
if(typeof(kpiValues[v.category][cleanname][0]) === "undefined") {
kpiValues[v.category][cleanname][0] = {};
kpiValues[v.category][cleanname][0].value = 0;
}
}
这一行:
if(typeof(kpiValues[v.category][cleanname][0]) === "undefined") {
给我一个错误,我完全不知道为什么。在第一个if-block中,我确保它构建了对象/数组,但由于某种原因我无法理解,它会引发这个错误:
TypeError: Cannot read property '0' of undefined
有什么建议吗?
答案 0 :(得分:2)
typeof不是Javascript中的函数,因此您可以使用
typeof oprand
考虑一下:
if(typeof kpiValues[v.category][cleanname][0] === "undefined") {