Data Structure For Quizzes
unknown
javascript
a year ago
1.6 kB
8
Indexable
let users = [] let quizzes = {} function addUsers(name, age) { if (!name) { return {error: "Name cannot be empty"}; } if (age < 0) { return {error: "Provide a valid age"}; } users.push({ userId : users.length + 1, age: age, name: name }); } function addQuiz(userId, title, description) { if (!title) { return {error: "Provide a valid title"}; } if (!description) { return {error: "Provide a valid description"}; } let uIndex = users.findIndex(user => user.userId == userId) if (uIndex === -1 ) { return {error: "User is not a valid user"}; } if (!quizzes[userId]) { quizzes[userId] = [] } quizzes[userId].push({ id: quizzes[userId].length + 1, title: title, description: description }) } function searchQuiz(userId, searchWord) { if (!searchWord) { return {error: "Provide a valid searchWord"}; } let uIndex = users.findIndex(user => user.userId == userId) if (uIndex === -1 ) { return {error: "User is not a valid user"}; } let qs = quizzes[userId] let filteredEntries = qs.filter(entry => { return entry.title.toLowerCase().includes(searchWord.toLowerCase()) || entry.description.toLowerCase().includes(searchWord.toLowerCase()); }); return filteredEntries } addUsers("Rabbi", 2) addQuiz(1, "Math", "For class 1") addUsers("Momota", 2) addQuiz(2, "Math", "For class 1") addQuiz(2, "Eng", "For class 2") console.log(searchQuiz(2, "1"))
Editor is loading...
Leave a Comment