Как сделать сортировку строк в списке по их "популярности"?

Поддержка
  • Есть список, к примеру:
    Саша
    Маша
    Андрей
    Саша
    Маша
    Маша
    Катя

    Нужно получить список отсортированный по популярности строк:
    Маша
    Саша
    Андрей
    Катя

    Как это сделать?

  • var names = [[NAMES_LIST]];//Лист с именами
    
    var countMap = {};
    for (var i = 0; i < names.length; i++) {
        var name = names[i];
        countMap[name] = (countMap[name] || 0) + 1;
    }
    
    //Новый список
    [[POPULAR_NAMES_LIST]] = Object.keys(countMap).sort(function(a, b) {
        return countMap[b] - countMap[a];
    });
    
  • @xASZx я твои руки целовал