Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么';t array.push()在循环对象时是否起作用?_Javascript_Arrays_Array Push - Fatal编程技术网

Javascript 为什么';t array.push()在循环对象时是否起作用?

Javascript 为什么';t array.push()在循环对象时是否起作用?,javascript,arrays,array-push,Javascript,Arrays,Array Push,我正在用JavaScript做一个简单的数独解算器,向数组中添加新值有一个问题。我的脚本在for..in循环中生成随机长度数组。我用Chrome调试器测试了这个脚本,在那里我看到它循环正确的计数。我是否遗漏了JS对象的一些要点,或者.push()的方法做这种事情是错误的 this.areaSize = gridSideSize * gridSideSize; //On progress -data structures this.structures = { rows: new A

我正在用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);
}
this.areaSize=gridSideSize*gridSideSize;
//关于进展——数据结构
该结构=
{ 
行:新数组(),
列:新数组(),
父项:新数组()
};
//用区域对象填充数据结构
for(此.structures中的var struct)
{
对于(var a=0;a

Console告诉我,第一个数组的长度为4项,第二个和第三个数组的长度为7项。

struct
是属性名
(长度为4的字符串)、
(7)和
父项
(7)


记录
this.structures[struct].length将给出预期结果。

只需记录
struct
而不是
struct.length
。你会立即注意到你的错误。