Write down the input contract and the failure cases before coding.
tests
RUNTIME OUTPUT
Ready to run the file open above against 1 test.
Runs the open file in a restricted browser worker
LEARN FROM THE SOLUTION
Why the solution works.
A Set gives fast membership checks, while the result array preserves the caller-visible order. Normalizing before checking the Set means spelling and whitespace variants collapse into the same tag.
What this exercise teaches
Array iteration
Strings
Sets
A PRACTICAL PLAN
Work through Normalize a list of tags with intent.
Translate the contract.Turn the requirements into a short checklist before editing your-solution.js.
Use the example as evidence.Predict the result for the supplied input, then add one boundary case such as an empty value, a limit, or unexpected input.
Review the implementation.Compare your choices against solution.js only after a real attempt.
EXERCISE FAQ
Before you move on.
What does “Normalize a list of tags” teach?
This beginner JavaScript exercise focuses on Array iteration, Strings, Sets. Its requirements define the exact behavior to implement before you write code.
How should I validate this JavaScript solution?
Start with the displayed example input and expected output, then test a boundary case suggested by the requirements. Open your-solution.js and select Run code. The browser executes that file in an isolated worker against the visible test cases.
When should I open the reference solution?
Attempt Normalize a list of tags first. Then open the read-only solution file to compare the contract, edge-case handling, and implementation choices—not simply to copy the final code.