class User {
  constructor(id, name, sessionId) {
    this.id = id;
    this.name = name;
    this.sessionId = sessionId;
  }
}
class UserRepository {
  constructor(users) {
    this.users = users;
    Object.freeze(users);
  }
  getUserNames() {
    return this.users.map(this.name);
  }
  getUserIds() {
    return this.users.map(this.id);
  }
  getUserNameById() {
    return this.users.map(this.sessionId);
  }
}
// examples
const user = new User('1', 'Jack', 'session-id');
Мне нужно в методы getUserNames,  getUserIds и getUserNameById сохранять(получать) массив соответственно имен, айди и имен по айдишнику. Поле users тут - это как бы array[User] - массив объектов пользователей. 
Помогите доделать код пожалуйста.