在使用Extjs的tree组件时,可能经常因为ID重复而导致书展开报错或无法展开,本来想写个shell脚本来找重复ID的值,一想还得启动虚拟机,哈哈下面的JS小程序轻松的让你找出那些重复ID的值
<html>
<head>
<script type="text/javascript">
var arr = **;//**代表json数据
var map = {};
for (var i = 0; i < arr[0].children.length; i++) {
var v = arr[0].children[i];
if(v.children!=undefined){
for(var k=0;k<v.children.length;k++){
var a=v.children[k];
if(map[a.id]===undefined){
map[a.id]=1;
}else{
++map[a.id];
}
}
}
//console.log (i + " id=" + v.id);
if (map[v.id] === undefined) {
map[v.id] = 1;
} else {
++map[v.id];
}
}
console.log ("map=" + map);
var result = [];
for (var i in map) {
result.push ({id: i, count:map[i]});
}
result = Array.sort (result, (function (a, b) { return a.count < b.count}));
for (var i = 0; i < result.length; i++) {
console.log (result[i].id +"="+result[i].count);
}
</script>
</head>
</html>