Reputation: 786
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;
As you can see I'm trying to create this object like this (all these variables are in an each function), but when I try it out I get an empty object.
alert(JSON.stringify(eenhedenperdorp));
Result: {}
What's the correct way to do this?
Fiddle: http://jsfiddle.net/czGrv/
Upvotes: 0
Views: 63
Reputation: 5134
Check what you want to do.
Since you use .match()
, coord
will be either an array or null
(if the match isn't good).
Your line:
eenhedenperdorp[coord] = coord;
ensures that your following object property assignments will fail, either silently (you can't do that to arrays) or violently (with a TypeError).
You probably meant:
eenhedenperdorp[coord] = {};
Upvotes: 0
Reputation: 1651
Looks to me like you're not instantiating the object that you seem to want to instantiate. Change the first line of instantiation to:
eenhedenperdorp[coord] = {};
Your [coord] parameter needs to be an object itself to fill it with parameters later on in your code.
Upvotes: 2