aboutsummaryrefslogtreecommitdiff
path: root/challenge-005/zapwai/javascript/ch-1.js
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-005/zapwai/javascript/ch-1.js')
-rw-r--r--challenge-005/zapwai/javascript/ch-1.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/challenge-005/zapwai/javascript/ch-1.js b/challenge-005/zapwai/javascript/ch-1.js
new file mode 100644
index 0000000000..39a6ccd044
--- /dev/null
+++ b/challenge-005/zapwai/javascript/ch-1.js
@@ -0,0 +1,50 @@
+let dict;
+
+const fileInput = document.getElementById('fileInput');
+fileInput.addEventListener('change', handleFileUpload);
+
+const ourWord = document.getElementById('ourWord');
+ourWord.addEventListener('change', onWordChange);
+
+const ourParagraph = document.getElementById('ourParagraph');
+
+function anagramTime(word) {
+ let sorted = dict.slice();
+ sorted.forEach( (w, i) => {
+ sorted[i] = w.split('').sort().join("");
+ });
+
+ let sorted_word = word.split('').sort().join('');
+
+ let anagrams = [];
+ for (let i = 0; i < dict.length; i++) {
+ if (sorted[i] == sorted_word) {
+ anagrams.push(dict[i]);
+ }
+ }
+ ourParagraph.innerHTML =
+ `Input word: ${word}<br>Anagrams: ${anagrams.join(' ')}<br>`;
+}
+
+function onWordChange(event) {
+ let word = event.target.value;
+ anagramTime(word);
+}
+
+function handleFileUpload(event) {
+ const file = event.target.files[0];
+ if (!file) {
+ console.error('No file selected');
+ return;
+ }
+ const reader = new FileReader();
+ reader.onload = function(e) {
+ const content = e.target.result;
+ const words = content.split(/\s+/);
+ dict = words;
+ let word = document.getElementById('ourWord').value;
+ anagramTime(word);
+ };
+ reader.readAsText(file);
+}
+