本文实例为大家分享了JS 列出所有单词及其出现次数的实现代码,JS统计英语单词出现次数,可以调用LinkedList 类的方法orderInsert(), 以字母大小的顺序储存 英文字符串,同时记录英文单词出现的次数,供大家参考,具体内容如下
<html>
<head>
<title>Linked List</title>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript">
function Node(data) {
this.data = data;
this.frequency =1;
this.next = null;
}
var SList =function SList() {
this.head = new Node("Dummy");
}
SList.prototype.insertLast =function(data) {
var p = this.head;
while (p.next!=null)
p = p.next;
p.next=new Node(data);
}
SList.prototype.insertFirst =function(data) {
var p=new Node(data);
p.next = this.head.next;
this.head.next=p;
}
SList.prototype.traversal=function (){
var p=this.head;
while (p.next != null){
document.write( p.next.data + "("+p.next.frequency+"), ");
p = p.next;
}
}
SList.prototype.orderInsert =function(data) {
var k = this.search( data );
if (k) k.frequency++;
else {
var p = new Node(data);
var q = this.head;
while (q.next!=null && q.next.data<data)
q = q.next;
p.next=q.next;
q.next=p;
}
}
SList.prototype.search= function (data) {
var p = this.head;
while (p.data != data && p.next!=null)
p = p.next;
if (p.data !=data)
return null;
else
return p;
}
var Slist = new SList();
var s=new Array("earthquake","prediction","geology","physics",
"chemistry","biology","mathematics","computer","earth_science",
"chemistry","biology","mathematics","computer","paleomagnetism",
"topology","biology","mathematics","computer","earthquake");
for (var i=0; i<s.length; i++)
Slist.orderInsert(s[i]);
Slist.traversal();
</script>
</body>
</html>
效果: