diff --git a/projects/m4/004-letter-frequencies/js/exercise1.txt b/projects/m4/004-letter-frequencies/js/exercise1.txt new file mode 100644 index 000000000..fbc36b634 --- /dev/null +++ b/projects/m4/004-letter-frequencies/js/exercise1.txt @@ -0,0 +1,24 @@ +Line 1: This is the first line. +Line 2: This is the second line. +Line 3: This is the third line. +Line 4: This is the fourth line. +Line 5: This is the fifth line. +Line 6: This is the sixth line. +Line 7: This is the seventh line. +Line 8: This is the eighth line. +Line 9: This is the ninth line. +Line 10: This is the tenth line. +Line 11: This is the eleventh line. +Line 12: This is the twelfth line. +Line 13: This is the thirteenth line. +Line 14: This is the fourteenth line. +Line 15: This is the fifteenth line. +Line 16: This is the sixteenth line. +Line 17: This is the seventeenth line. +Line 18: This is the eighteenth line. +Line 19: This is the nineteenth line. +Line 20: This is the twentieth line. +Line 21: This is the twenty-first line. +Line 22: This is the twenty-second line. +Line 23: This is the twenty-third line. +Line 24: This is the twenty-fourth line. \ No newline at end of file diff --git a/projects/m4/004-letter-frequencies/js/index.js b/projects/m4/004-letter-frequencies/js/index.js index e69de29bb..50de6f7e4 100644 --- a/projects/m4/004-letter-frequencies/js/index.js +++ b/projects/m4/004-letter-frequencies/js/index.js @@ -0,0 +1,25 @@ +const { error } = require('console'); +const { readFile } = require('fs/promises'); + +let filePath = './exercise1.txt'; + +readFile(filePath) + .then((data) => { + // Convert the string to an array replacing all characters that are not letters + let data1 = data + .toString() + .replace(/[0-9.,\/#!$%\^&\*;:{}=\-_`~(),' ', \r\n]/g, '') + .split(''); + + const count = {}; // It allows us to calculate the number of times a character in the file repeats or appears + + data1.forEach((value) => { + const arr = count[value] ?? 0; // Nulling coalescing operator to start with 0 if count[value] is undefined or null + count[value] = arr + 1; + }); + + console.log(count); + }) + .catch((error) => { + console.error('The program is unable to open the file you indicated'); + });