Sha256: 1010f74de473d276ed693f6952563620be7f3ed2747d4bcc538cb1c9e3e7d09d

Contents?: true

Size: 356 Bytes

Versions: 396

Compression:

Stored size: 356 Bytes

Contents

function clone(obj) {
  return JSON.parse(JSON.stringify(obj));
}

let db;
class School {

  constructor() {
    db = {};
  }

  add(student, level) {
    db[level] = this.grade(level).concat(student).sort();
  }

  grade(level) {
    return db[level] ? clone(db[level]).sort() : [];
  }

  roster() {
    return clone(db);
  }

}

export default School;

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.179 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.178 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.177 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.176 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.175 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.174 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.173 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.172 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.171 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.170 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.169 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.167 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.166 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.165 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.164 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.163 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.162 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.161 tracks/ecmascript/exercises/grade-school/example.js
trackler-2.2.1.160 tracks/ecmascript/exercises/grade-school/example.js