-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcount.js
31 lines (28 loc) · 1016 Bytes
/
count.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const sonnet = `Let me not to the marriage of true minds
Admit impediments. Love is not love
Which alters when it alteration finds,
Or bends with the remover to remove.
O no, it is an ever-fixed mark
That looks on tempests and is never shaken;
It is the star to every wand'ring bark,
Whose worth's unknown, although his height be taken.
Love's not time's fool, though rosy lips and cheeks
Within his bending sickle's compass come:
Love alters not with his brief hours and weeks,
But bears it out even to the edge of doom.
If this be error and upon me proved,
I never writ, nor no man ever loved.`;
// Unique words
var uniques = new Map();
// All words in the text
var words = sonnet.match(/[\w']+/g);
// Iterate through `words` and build up an associative array of unique words.
for (var i = 0; i < words.length; i++) {
var word = words[i];
if (uniques.get(word)) {
uniques.set(word, uniques.get(word)+1);
} else {
uniques.set(word, 1);
}
}
console.log(uniques)