1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="author" content="" /> 6 <meta name="copyright" content="" /> 7 <title></title> 8 <style> 9 body {text-align:center;} 10 </style> 11 <script> 12 window.onload = function(){ 13 14 var oTxt1=document.getElementById('txt1'); 15 var oTxt2=document.getElementById('txt2'); 16 var oBtn=document.getElementById('btn1'); 17 18 oBtn.onclick=function(){ 19 var arr=oTxt1.value.split(' '); 20 var arr2=[]; 21 var json={}; 22 for(var i=0;i<arr.length;i++){ 23 if(!json[arr[i]]){ 24 json[arr[i]]=1; 25 }else{ 26 json[arr[i]]++; 27 } 28 } 29 30 for(var attr in json){ 31 var json2={}; 32 json2.name=attr; 33 json2.numb=json[attr]; 34 arr2.push(json2); 35 } 36 37 arr2.sort(function(a,b){ 38 return b.numb-a.numb; 39 }); 40 for(var i=0;i<arr2.length;i++){ 41 oTxt2.value+=arr2[i].name+'('+arr2[i].numb+') '; 42 } 43 }; 44 }; 45 </script> 46 </head> 47 48 <body> 49 输入原始文本(空格隔开):<br> 50 <textarea style="300px; height:200px;" id="txt1">衣服 运动鞋 篮球鞋 跑步鞋 休闲鞋 帆布鞋 足球鞋 衣服 衣服 衣服 跑步鞋 跑步鞋 跑步鞋 跑步鞋 休闲鞋 帆布鞋 休闲鞋 帆布鞋 休闲鞋 帆布鞋</textarea><br> 51 <br> 52 <input type="button" value="变" id="btn1" /><br> 53 <br> 54 这里输出结果:<br> 55 <textarea style="300px; height:200px;" id="txt2"></textarea> 56 </body> 57 </html>
重点是在一个数组里面添加多个json,原理是用数组sort排序函数。