Conversation
| const LETTER_POOL = { | ||
| 'A': 9, | ||
| 'B': 2, | ||
| 'C': 2, | ||
| 'D': 4, | ||
| 'E': 12, | ||
| 'F': 2, |
There was a problem hiding this comment.
Hi Angela! Great job completing JS Adagrams! Congrats on finishing your first JavaScript project 🎉 Excellent choice with this data structure
| 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); |
There was a problem hiding this comment.
Great job with this building a hand logic and the use of the spread operator (...) 🎉
| 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 | ||
| }; |
There was a problem hiding this comment.
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
};|
|
||
| let sum = 0; | ||
| word = word.toUpperCase(); | ||
| const higherPointValues = [7, 8, 9, 10]; |
| } | ||
| } | ||
|
|
||
| let bestestWord = highestScoreWord.reduce((a, b) => a.length <= b.length ? a : b); |
There was a problem hiding this comment.
I would consider changing the name of this variable to something more descriptive
| let scoreDict = {}; | ||
| let highestScoreWord = []; |
| for (let [word, pointValue] of Object.entries(scoreDict)) { | ||
| if (pointValue === maxScore) { | ||
| highestScoreWord.push(word); | ||
| } | ||
| } |
There was a problem hiding this comment.
Great work getting comfortable with JavaScript's syntax. It looks like you're getting use to looping over data and adding conditional logic ✅
No description provided.