为了账号安全,请及时绑定邮箱和手机立即绑定

DOM操作将所有页面元素存为一个{key:count}的结构,即统计在页面中每种元素的数量,将元素根据count进行排序大佬们有什么好的建议?

DOM操作将所有页面元素存为一个{key:count}的结构,即统计在页面中每种元素的数量,将元素根据count进行排序大佬们有什么好的建议?

心有法竹 2019-08-05 22:47:12
varallobj=document.getElementsByTagName('*')vararr=[]for(vari=0;i
查看完整描述

2 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

看你问了好几个问题,我个人还是希望你能自己多百度下。
varallobj=document.getElementsByTagName('*')
vararr=[];
varpos={};
varkeyName="";
for(vari=0;ikeyName=allobj[i].tagName.toLowerCase();
if(pos[keyName]===undefined){
pos[keyName]=arr.push([keyName,1])-1;
}else{
++arr[pos[keyName]][1];
}
}
arr.sort(function(a,b){returna[1]-b[1];}).map(item=>{return{[item[0]]:item[1]}})
                            
查看完整回答
反对 回复 2019-08-05
?
冉冉说

TA贡献1877条经验 获得超1个赞

不是很好,结果基本实现了
varallobj=document.getElementsByTagName('*')
varobj={},arr=[];
for(vari=0;ileteleName=allobj[i].tagName.toLowerCase();
obj[eleName]!=undefined?obj[eleName]++:obj[eleName]=1;
}
//for(letkeyinobj){arr.push(JSON.parse('{"'+key+'":'+obj[key]+'}'));}
for(letkeyinobj){arr.push({[key]:obj[key]});}
console.log(arr);
                            
查看完整回答
反对 回复 2019-08-05
  • 2 回答
  • 0 关注
  • 387 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号