Sha256: 763277992a7ad50469cee5f3074579206e1cbac158a23375c98bbec28f115e6f
Contents?: true
Size: 631 Bytes
Versions: 255
Compression:
Stored size: 631 Bytes
Contents
module.exports = function School() { var db = {}; function add(student, grade) { if(db[grade]) { db[grade].push(student); } else { db[grade] = [student]; } } function grade(level) { return db[level] ? clone(db[level]).sort() : []; } function roster() { return sortedGrades().reduce(function(sorted, grade) { sorted[grade] = clone(db[grade]).sort(); return sorted; }, {}); } function sortedGrades() { return Object.keys(db).sort(); } return { roster: roster, add: add, grade: grade }; }; function clone(array) { return array.slice(); }
Version data entries
255 entries across 255 versions & 1 rubygems