Javascript 计算合并对象的数目

Javascript 计算合并对象的数目,javascript,Javascript,这可能有一个我没有意识到的简单解决方案。通过以下代码(来自php/javascript拼图代码),我将一个对象与另一个对象(拼图块)合并。我希望能够计算每次合并后有多少个对象,以检查只剩下一个对象的情况(谜题已解决)。我尝试编写一个单独的函数来计算对象的hasownproperties数(虽然我只想计算合并的对象数,而不是对象属性数,以避免由于不同的谜题难度而使脚本复杂化),但它不起作用。建议 var cluster = new Array(); function merge_cluster(

这可能有一个我没有意识到的简单解决方案。通过以下代码(来自php/javascript拼图代码),我将一个对象与另一个对象(拼图块)合并。我希望能够计算每次合并后有多少个对象,以检查只剩下一个对象的情况(谜题已解决)。我尝试编写一个单独的函数来计算对象的hasownproperties数(虽然我只想计算合并的对象数,而不是对象属性数,以避免由于不同的谜题难度而使脚本复杂化),但它不起作用。建议

var cluster = new Array();

function merge_cluster(a, b) {
    for (i in cluster[b]) {
        obj = dd.elements[cluster[b][i]];
        cluster[a][obj.name] = obj.name;
        obj.cluster = a;
    }
}


function my_DropFunc() {
    align_cluster(dd.obj.cluster);

    for (r = -1; r <= 1; r++) {
        for (c = -1; c <= 1; c++) {
            if (c != 0 || r != 0) {
                obj = dd.elements['t_' + (dd.obj.row + r) + '_' + (dd.obj.col + c)];
                if (obj) {
                    if (dd.obj.x + c * < ? = $vw ? > == obj.x && dd.obj.y + r * < ? = $vh ? > == obj.y) {
                        merge_cluster(dd.obj.cluster, obj.cluster);
                        //this is probably the ideal place to do a count check since it runs every time a piece is dropped, only once, whereas the merge_cluster function runs multiple times when a new cluster is merged.
                    }
                }
            }
        }
    }

}
var cluster=new Array();
功能合并\u群集(a、b){
对于(集群[b]中的i){
obj=dd.elements[簇[b][i];
簇[a][obj.name]=obj.name;
obj.cluster=a;
}
}
函数my_DropFunc(){
对齐_集群(dd.obj.cluster);
for(r=-1;r==obj.y){
合并_集群(dd.obj.cluster,obj.cluster);
//这可能是进行计数检查的理想位置,因为每次删除一个片段时,它只运行一次,而合并新集群时,merge_cluster函数会运行多次。
}
}
}
}
}
}

我不明白问题出在哪里,你想做什么。集群对象是如何构造的,您想计算什么?我正在尝试编写一个函数来检测谜题何时被解决(所有集群片段作为一个片段一起)。我想计算页面上群集对象的数量。页面上从来没有群集对象。页面上只有一些输出的HTML,对象在内存中。你是怎么储存的?在阵列中?只需通过它循环,并检查是否有一个对象。