JSFiddle - React, Tailwind, and code Playground

HTML

Есть класс CoffeeMachine, заданный в функциональном стиле.

Задача: переписать CoffeeMachine в виде класса с использованием прототипа.

Исходный код:

P.S. При описании через прототипы локальные переменные недоступны методам, поэтому нужно будет переделать их в защищённые свойства.

JavaScript

var cities = {
Shanghai : 23416,
Moscow: 	16170,
Mexico: 	20063,
Madrid: 	6171,
Paris: 	10858,
London: 	10236


}



function sortCities(obj, n){
 var sorted =[];
 var sortedCities = [];
 for(var key in obj){
  sorted.push({"city":key, "population": obj[key]});
 }
 sorted.sort(function(a,b){
 return b.population-a.population;
 });
 
 for(var i = 0; i<n; i++){
 sortedCities.push(sorted[i]["city"]);
 }
 
 return sortedCities;
}

console.log(sortCities(cities, 40));