我遇到以下错误:
未捕获的TypeError:undefined不是函数
我无法弄清楚是什么造成了这个错误,我已经尝试过搜索,但还没有找到合适的答案。
输入数据: algusLoppPikkus = {"第一":[58.6666,23.6666,10]"第一":[58.6866,23.6866,10]"第一":[58.6666,23.6666 ,15],"第一":[58.6666,23.6666,12]"第一":[58.6666,23.6666,12]"第一":[58.6666, 23.6666,13]"第一":[58.6666,23.6666,13]} var kohadID = [10,15,13,12];
var Kkordinaadid = {};
function containsObject(ac, arr1, arr2, list) {
var i;
if (Object.getOwnPropertyNames(list).length > 0) {
for (i = 0; i < list.length; i++) {
if (list[i].ID != ac) {
var obj = {
"ID": ac,
"Coord": [arr1, arr2]
};
list.push(obj);
}
}
} else {
var obj = {
"ID": ac,
"Coord": [arr1, arr2]
};
list.push(obj);
}
console.log(list);
}
//var a = containsObject(obj, list);
for (i = 0; i < kohadID.length; i++) {
for (j = 0; j < algusLoppPikkus.length; j++) {
if (kohadID[i] == algusLoppPikkus[j].first[2]) {
containsObject(kohadID[i], algusLoppPikkus[j].first[0], algusLoppPikkus[j].first[1], Kkordinaadid);
//console.log("koht :" + kohadID[i] + " "+ "Kordinaat :" +algusLoppPikkus[j].first[0]+" , "+algusLoppPikkus[j].first[1] + " ID : "+ algusLoppPikkus[j].first[2]);
}
}
}
Chrome的控制台说错误来自list.push(obj);
,但我不确定为什么会这样。
答案 0 :(得分:2)
问题很简单:你调用containsObject
,如下所示:
containsObject(..., ..., ..., Kkordinaadid);
传递的最后一个参数是Kkordinaadid
,但是之前定义为
var Kkordinaadid = {};
Object
没有名为push
的方法,你的意思是创建一个数组吗?
var Kkordinaadid = [];