Как обратиться к объекту класса [как применить sort и filer к массиву инстансов класса?]

пытаюсь обратиться к объектам класса с названием Frontend, конкретнее, нужно посчитать у кого из Frontend большая зарплата используя filter() и sort()

class Developer{
  constructor(name, surname,skills,salary){
    this.name=name;
    this.surname=surname;
    this.skills=skills;
    this.salary=salary;
  }
 }
Developer.prototype.print = function(){
     document.write(`<p>${this.name} ${this.surname}</p>`)
        for (let i = 0; i < this.skills.length; i++) {
            document.write(`
                <ul>
                    <li>${this.skills[i]}</li>
                </ul>
            `);
        }
}
class Frontend extends Developer{
}
class Backend extends Developer{
  constructor(name, surname, skills,direction, salary){
    super(name, surname, skills, salary)
      this.direction=direction
  }
}
let people = []
people.push(new Frontend('Vahan', 'Muadyan',['REACT','HTML','CSS','JS'],400000))
people.push(new Frontend('Marat', 'Ghukasyan',['REACT','HTML','CSS','JS'],500000))
people.push(new Frontend('Stas', 'Danyan',['REACT','HTML','CSS','JS'],300000))
people.push(new Frontend('Ashot', 'Muadyan',['REACT','HTML','CSS','JS'],200000))
people.push(new Frontend('Aram', 'Hakobyan',['REACT','HTML','CSS','JS'],150000))
people.push(new Backend('Aram', 'Ghazaryan',['NODE'],['NODE', 'Angular'],160000))
people.push(new Backend('Ano', 'Smith',['ANGULAR'], ['Angular', 'Laravel', 'Node'],1000000))
people.push(new Backend('Ando', 'Smith',['PHP'], ['Angular', 'RUBY', 'Node'],50000))
people.push(new Backend('Edgar', 'Grigoryan',['ANGULAR'], ['Angular', 'Laravel', 'Node'],190000))
people.push(new Backend('Vahan', 'Muadyan',['PYTHON'], ['Angular', 'DJANGO', 'Node'],450000))

console.log(people[Frontend]);иpeople.map(a=>a[Frontend])` не работает.

const fe = people.filter(person => !person.direction) // если нет .directon - значит фронтендер

Отсортировать массив fe по зарплате:

fe.sort((p1, p2) => p1.salary-p2.salary)

Т.е. работа с инстантсами класса такая же как и с объектами (дергай свойства и методы объектов)

A как я могу вывести на экран тот объект у которого зарплата выше, не используя filtr(), sort(), попытался вот так:

 let maxsal=people.map(a=>a.salary)
 let res = Math.max(...maxsal).print() 

Но выводить через функцию print(), который в примере кода, в Developer.prototype.print, не получается

Math.max(...maxsal) результат вычисления этого экспрешена - число. У него нет метода .print()

Метод вывода - любой который работает для значения.

Можно

let res = Math.max(...maxsal)
document.write(res)

вопрос в том, что нужно вывести не зарплату а тот объект у которого высокая зарплата.
В моём примере это։

people.push(new Backend('Ano', 'Smith',['ANGULAR'], ['Angular', 'Laravel', 'Node'],1000000))

а если применить метод։ people.map(a=>a.print())

Developer.prototype.print = function(){
     document.write(`<p>${this.name} ${this.surname}</p>`)
        for (let i = 0; i < this.skills.length; i++) {
            document.write(`
                <ul>
                    <li>${this.skills[i]}</li>
                </ul>
            `);
        }

то должен получиться вывод вроде этого

Понял. Значит тебе нужно найти объект с самой большой ЗП. Чтобы без filter и sort - пробежаться циклом for по всему массиву и записать инстанс с большей ЗП в переменную.