var coord = $(this).find("td:eq(0)").text().match(/\d{1,3}\|\d{1,3}/g);
var AantalSpeerDorp = parseInt($(this).find("td:eq(2)").text());
var AantalZwaardDorp = parseInt($(this).find("td:eq(3)").text());
var AantalBijlDorp = parseInt($(this).find("td:eq(4)").text());
var AantalScoutDorp = parseInt($(this).find("td:eq(5)").text());
var AantalLCDorp = parseInt($(this).find("td:eq(6)").text());
var AantalHcDorp = parseInt($(this).find("td:eq(7)").text());
var AantalRamDorp = parseInt($(this).find("td:eq(8)").text());
var AantalKatDorp = parseInt($(this).find("td:eq(9)").text());
var AantalEdelDorp = parseInt($(this).find("td:eq(10)").text());
var eenhedenperdorp = {};
eenhedenperdorp[coord] = coord;
eenhedenperdorp[coord]["speer"] = AantalSpeerDorp;
eenhedenperdorp[coord]["zwaard"]= AantalZwaardDorp;
eenhedenperdorp[coord]["bijl"] = AantalBijlDorp;
eenhedenperdorp[coord]["Scout"] = AantalScoutDorp;
eenhedenperdorp[coord]["lc"] = AantalLCDorp;
eenhedenperdorp[coord]["hc"] = AantalHcDorp;
eenhedenperdorp[coord]["ram"] = AantalRamDorp;
eenhedenperdorp[coord]["kata"] = AantalKatDorp;
eenhedenperdorp[coord]["edel"] = AantalEdelDorp;
正如你所看到的,我正在尝试像这样创建这个对象(所有这些变量都在每个函数中),但是当我尝试它时,我得到一个空对象。
alert(JSON.stringify(eenhedenperdorp));
结果:{}
这样做的正确方法是什么?
答案 0 :(得分:2)
在我看来,你并没有实例化你似乎想要实例化的对象。将实例化的第一行更改为:
eenhedenperdorp[coord] = {};
您的[coord]参数需要是一个对象本身,以便稍后在代码中用参数填充它。
答案 1 :(得分:0)
检查你想做什么。
由于您使用.match()
,coord
将是数组或null
(如果匹配不佳)。
你的专栏:
eenhedenperdorp[coord] = coord;
确保您的以下对象属性赋值将失败,无论是静默(您不能对数组执行)还是暴力(使用TypeError)。
你可能意味着:
eenhedenperdorp[coord] = {};