Style - How to write meaningful comments
Content
Build a simple contact management system using files.
Requirements:
contacts.txt:
addContact(name, phone) - append contact in format "Name: Phone"listContacts() - read and display all contactssearchContact(name) - find and return matching contactChallenge: Create deleteContact(name) that removes a contact and rewrites the file.
Write robust configuration file handling with proper error management.
Requirements:
loadConfig(filename) that:
{theme: 'light', notifications: true}.corrupted and creates new defaultsaveConfig(filename, config) with error handlingChallenge: Add validation that throws errors for invalid config values before saving.
Process product data using chained array methods.
Requirements:
{name, price, category, rating, inStock}{name, price} objects onlyslice()reduce()Bonus: Use every() to check if all remaining products are under €100.
Analyze student performance data.
Requirements:
{name, grades: [85, 92, 78, ...]}map() to add average property to each studentfilter() to find students with average > 80find() to locate student with highest averagesome() to check if any student failed (average < 60)reduce() to calculate class averageChallenge: Sort students by average and use forEach() to print rankings.
Practice all array methods with a single dataset.
Requirements:
[12, 5, 8, 130, 44, 3, 88, 22]filter() to get numbers > 10map() to double each numbersort() to order ascendingfind() to get first number > 100every() to check if all are positivereduce() to sum all numbersChallenge: Create your own array and apply at least 5 different methods in a meaningful chain.
Build counter objects with private state using closures.
Requirements:
createCounter(start, step) that returns object with:
increment() - increases by stepdecrement() - decreases by stepgetValue() - returns current valuereset() - returns to start valueChallenge: Add getHistory() that returns array of all values the counter has had (use closure to track).

Found a mistake or have a suggestion? Let us know in the feedback form.