Ok, I'm stumped. Probably because I haven't coded in 10 years and I don't get all the javascript shorthand like arrow notation :-P I have a repeating section of weapons. I want to spin through the list and see if the weapon uses a certain skill. If so, then I'm going to change a different value on that weapon. Here's what I'm doing: getSectionIDs("weapons", function (idarray) { for (var i=0; i<idarray.length; i++) { getAttrs(["repeating_weapons_" + idarray[i] + "_weapon_melee_skill"], function(repeatingvalues) { console.log(repeatingvalues); console.log(repeatingvalues("repeating_weapons_" + idarray[i] + "_weapon_melee_skill")); }); } }); I get that getAttrs is async and i is out of range before the callback happens so the second console.log is undefined. repeatingvalues has what I need. I just have no idea how to reference it inside the getAttrs callback. Here is the result of the first console.log: {repeating_weapons_-mubbnijfifbgj-fiqii_weapon_melee_skill: "1H Edged"} How in the world do I get that -mubbnijfifbgj-fiqii so i can reference the field I want to update? Many thanks in advanced.