所以我有这个使用arborjs显示树结构的JavaScript文字。
var data = {
"nodes": {
You: {
'color': 'green',
'shape': 'dot',
'label': 'You'
},
Ben: {
'color': 'black',
'shape': 'dot',
'label': 'Ben'
},
David: {
'color': 'black',
'shape': 'dot',
'label': 'David'
}
},
"edges": {
You: {
Ben: {},
David: {}
},
Ben: {
David: {}
}
}
};
我想计算nodes对象中的属性数(本例中为3)和edge对象中的属性数(本例中为2),以显示用户树的一些统计信息。我通过递归遍历我的数据库并创建一个哈希来使用ruby on rails输出数据变量。但之前,我应该计算客户端或服务器端的节点吗?我应该再次检查数据库并统计统计数据还是只计算属性?
答案 0 :(得分:3)
计算你可以做的节点
var count=0;
for(node in data.nodes)
count++;
答案 1 :(得分:1)
你可以这样做:
var data = {
"nodes":{
"You":{'color':'green','shape':'dot','label':'You'},
Ben:{'color':'black','shape':'dot','label':'Ben'},
David:{'color':'black','shape':'dot','label':'David'}
},
"edges":{
You:{ Ben:{}, David:{} },
Ben:{ David:{}}
}
};
Object.prototype.NosayrCount = function () {
var count = 0;
for(var i in this)
if (this.hasOwnProperty(i))
count++;
return count;
}
data.NosayrCount(); // 2
data.Nodes.NosayrCount(); // 3
data.edges.NosayrCount(); // 2