Skip to content

Angela's JS Adagrams#148

Open
angela100743 wants to merge 4 commits intoAda-C18:mainfrom
angela100743:main
Open

Angela's JS Adagrams#148
angela100743 wants to merge 4 commits intoAda-C18:mainfrom
angela100743:main

Conversation

@angela100743
Copy link
Copy Markdown

No description provided.

Comment thread src/adagrams.js
Comment on lines +1 to +7
const LETTER_POOL = {
'A': 9,
'B': 2,
'C': 2,
'D': 4,
'E': 12,
'F': 2,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Angela! Great job completing JS Adagrams! Congrats on finishing your first JavaScript project 🎉 Excellent choice with this data structure

Comment thread src/adagrams.js
Comment on lines +31 to +42
let letterPoolArr = [];
for (const [key, value] of Object.entries(LETTER_POOL)) {
let letter = Array(value).fill(key);
letterPoolArr.push(...letter);
}

let letterBank = [];
while (letterBank.length < 10) {
let index = Math.floor(Math.random() * letterPoolArr.length);
let letter = letterPoolArr[index];
letterBank.push(letter);
letterPoolArr.splice(index, 1);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job with this building a hand logic and the use of the spread operator (...) 🎉

Comment thread src/adagrams.js
Comment on lines +63 to +71
const SCORE_CHART = {
"A": 1, "B": 3, "C": 3, "D": 2,
"E": 1, "F": 4, "G": 2, "H": 4,
"I": 1, "J": 8, "K": 5, "L": 1,
"M": 3, "N": 1, "O": 1, "P": 3,
"Q": 10, "R": 1, "S": 1, "T": 1,
"U": 1, "V": 4, "W": 4, "X": 8,
"Y": 4, "Z": 10
};
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent choice with this data structure, I just want to mention that in JavaScript our keys don't need to be strings. Because of the popularity of JSON, it is frequent to see the keys of object literals as quoted strings. The quotes are required in order to be valid JSON, but they are not required in order to be valid JavaScript. Keys in object literals can be expressed in any of the following three ways:

const letterValue = {  
  A: 9,      // No quotes at all  
  'A': 9,    // Single-quoted string 
  "A": 9  // Double-quoted string
};

Comment thread src/adagrams.js

let sum = 0;
word = word.toUpperCase();
const higherPointValues = [7, 8, 9, 10];
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏾

Comment thread src/adagrams.js
}
}

let bestestWord = highestScoreWord.reduce((a, b) => a.length <= b.length ? a : b);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would consider changing the name of this variable to something more descriptive

Comment thread src/adagrams.js
Comment on lines +89 to +90
let scoreDict = {};
let highestScoreWord = [];
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work creating this hash map!

Comment thread src/adagrams.js
Comment on lines +98 to +102
for (let [word, pointValue] of Object.entries(scoreDict)) {
if (pointValue === maxScore) {
highestScoreWord.push(word);
}
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work getting comfortable with JavaScript's syntax. It looks like you're getting use to looping over data and adding conditional logic ✅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants