我收到此错误:
TypeError:对象未定义。
这是我的代码:
var tempArray = [];
var getCategoriesArray = function (id) {
var object = getObject(id);
console.log("id : " + object.id); // the id is printed correctly
tempArray[tempArray.length] = object;
if (object.has("parent") == false) {
console.log(tempArray);
return tempArray;
}
return getCategoriesArray(object.get("parent"));
};
var getObject = function (id) {
for (var i = 0; i < response.length; i++) {
var object = response[i];
if (object.id == id) {
console.log( "name : " + object.get("name")); // the name is printed
return object;
}
}
}
$('#category').on("select2:select", function (e) {
tempArray = [];
getCategoriesArray($(this).val());
});
请问我在代码中遗漏了哪些内容?
更新 我已经解决了这个问题,而不是:
返回getCategoriesArray(object.get(&#34; parent&#34;));
我已经使用了这个
返回getCategoriesArray(object.get(&#34; parent&#34;)。id);
因为我的函数应该有id
作为参数而不是object
答案 0 :(得分:0)
HY,
在函数 getObject 中,如果没有id匹配,则不返回有效对象。
如果 getObject 中返回的对象不为false,则必须在 getCategoriesArray 中进行验证。
var getCategoriesArray = function (id) {
var object = getObject(id);
if (!object) //do some work
else {
// do your work
console.log("id : " + object.id);
}
}