我正在使用JavaScript进行简单的数独求解器,并且向数组添加新值存在一个问题。我的脚本在for..in循环中创建随机长度数组。我已经使用Chrome调试器对此脚本进行了测试,在那里我看到它循环正确计数。我是否错过了JS对象的一些重要观点,或者是.push()错误的方法来做这种事情?
this.areaSize = gridSideSize * gridSideSize;
//On progress -data structures
this.structures =
{
rows: new Array(),
columns: new Array(),
parents: new Array()
};
//Fill the data structures with the area object
for(var struct in this.structures)
{
for(var a = 0; a < this.areaSize; a++)
{
var tmp = new PartialArea(this.areaSize);
this.structures[struct].push(tmp);
}
console.log(struct.length);
}
控制台告诉我,第一个数组长4个,第二个和第3个长7个项目。
答案 0 :(得分:1)
struct
是属性名称 rows
(长度为4的字符串),columns
(7)和parents
(7)。
记录this.structures[struct].length
会得到预期的结果。