<html> <form name="zu1"> <textarea name = "textBox" cols = "50" rows = "8" style = "width:96%;"></textarea> <input onclick = "ziPin()" type = "button" value = "统计字频" > <p id = "showResult1"></p> <p id = "showResult2"></p> </form> </html> <script> function ziPin(){ var str = document.zu1.textBox.value; var result=[]; for(let i=0;i<str.length;i++ ){ if(result[str[i]]) result[str[i]]++; else result[str[i]]=1; } var objArr=[]; for(let key in result ){ let item={type:key,freq:result[key]}; objArr.push(item); } function compare(a,b){ return b.freq-a.freq; } objArr.sort(compare); var myString = JSON.stringify(objArr); document.getElementById("showResult1").innerHTML =myString; var txt="<table border=\"1\"><tr><th>TYPE</th><th>FREQ</th></tr>"; for(let v=0; v<objArr.length; ++v ) txt = txt +"<tr><td>" + objArr[v].type + "</td>  <td>"+objArr[v].freq + "</td></tr>"; txt=txt+"</table>"; document.getElementById("showResult2").innerHTML = txt; }; </script> 注释
时间: 2024-03-07 10:52:20 浏览: 106
统计字频的工具
3星 · 编辑精心推荐
<!--
这段代码是一个 HTML 页面,包含一个表单,其中包含一个文本框和一个按钮。该按钮的点击事件会调用名为 "ziPin()" 的 JavaScript 函数,实现对文本框输入内容的字频统计,并在页面中展示统计结果。
具体实现过程如下:
1. 首先获取输入的文本框中的字符串。
2. 创建一个名为 "result" 的数组,用于记录每个字符出现的次数。
3. 遍历字符串的每个字符,如果该字符已经在 "result" 数组中有记录,则将其出现次数加 1,否则将其初始出现次数设为 1。
4. 创建一个名为 "objArr" 的数组,用于存储每个字符及其出现次数的对象。
5. 遍历 "result" 数组中的每个字符,将其作为对象的属性名,将其出现次数作为对象的属性值,存储到 "objArr" 数组中。
6. 创建一个名为 "compare" 的函数,用于实现对象按出现次数从大到小排序的方法。
7. 调用 JS 中的 "sort" 方法,将 "objArr" 数组按照 "compare" 函数的规则进行排序。
8. 将 "objArr" 数组转化成 JSON 格式的字符串,展示在页面 "showResult1" 标签中。
9. 创建一个 HTML 表格字符串,用于将排序后的 "objArr" 数组展示在页面 "showResult2" 标签中。
10. 将生成的 HTML 表格字符串,展示在页面 "showResult2" 标签中。
-->
阅读全文