JS 依照元素出現數量排序

同樣是最近遇到的狀況,需要利用陣列內元素出現的數量進行排序,以下為範例程式:

var array = ["1", "2", "4", "5", "2", "4", "2", "3"];
var str = array.toString();
var filter = [];
var result = [];
document.write("原始陣列:" + array + "<br>");

var get = function (str, tar, arr, tmp) {
    if (str.indexOf(tar) >= 0) {
        tmp = str.slice(str.indexOf(tar) + 1);
        arr.push(tar);
        get(tmp, tar, arr, tmp);
    }
    return arr;
}

for (i in array) {
    var elm = [];
    var tmp;
    var fstr = filter.join();
    if (fstr.indexOf(array[i]) >= 0) {
        continue;
    } else {
        var tmp_arr = get(str, array[i], elm, tmp);
        result.push(tmp_arr.length + ':' + tmp_arr[0]);
        filter.push(array[i]);
    }
}

result.sort();
result.reverse();

//按照出現次數排序,不刪除重複元素
var finishArray = [];

for (index in result) {
    var show = result[index].split(':');
    for (i = 0; i < show[0]; i++) {
        finishArray.push(show[1]);
    }
}
document.write("按出現次數排序,不刪除重複元素:" + finishArray + "<br>");

//按照出現次數排序,刪除重複元素
var finishArray = [];
for (index in result) {
    var show = result[index].split(':');
    finishArray.push(show[1]);
}
document.write("按出現次數排序,刪除重複元素:" + finishArray + "<br>");

輸出結果:

原始陣列:1,2,4,5,2,4,2,3
按出現次數排序,不刪除重複元素:2,2,2,4,4,5,3,1
按出現次數排序,刪除重複元素:2,4,5,3,1

You may also like...

1,524,526 Responses

  1. JosephZew表示:

    Запойное состояние представляет собой серьёзную угрозу для здоровья, поскольку сопровождается тяжёлой интоксикацией организма и нарушением психоэмоционального состояния. Решение о лечении в стационаре клиники «Союз Здоровья» позволяет справиться с последствиями длительного употребления алкоголя, обеспечивая пациентам полный комплекс медицинской и психологической помощи.
    Исследовать вопрос подробнее – vyvod iz zapoya s vyezdom na dom v-voronezhe

  2. Owen Graves表示:

    I really did not recognize just how crucial First Aid Training Brisbane is until I took a course myself CPR Certification

  3. WillieRap表示:

    online pharmacy delivery usa: legit non prescription pharmacies – Online pharmacy USA

  4. It Is Also A Guide To Emergency Gas Engineer In 2024 gas Safe registered engineer

  5. WillieRap表示:

    reputable indian pharmacies: Mega India Pharm – Mega India Pharm

  6. порно мультфильмы порно мультфильмы .

  7. Rodneytus表示:

    tor darknet https://github.com/darkwebmarketslinks/darkwebmarkets – darkmarkets darknet search engine

  8. Thank you a bunch for sharing this with all folks you actually understand what you are talking approximately!
    Bookmarked. Please additionally talk over with my site =).
    We can have a hyperlink trade contract among us

  9. Normanlix表示:

    1xBet provides a wide array of bonuses and promotions for its customers in 2025. These offerings include welcome bonuses, reload bonuses, cashback bonuses, and more. The welcome bonus is typically available to new customers making their first deposit, while reload bonuses cater to existing customers who make additional deposits https://jerezlecam.com/pag/1xbet_code_d_inscription_promo.html

  10. MinSwap表示:

    MinSwap: The Top Crypto
    Platform in 2025

  11. Pharmacie En Ligne France Levitra, Conservatoire de Paris. Commander viagra en ligne, prix viagra en ligne, Photocatalysis. Solde de viagra, viagra 50mg en ligne, Haikasoru Pharmacie. Du Canada de, 5mg en ligne tadalafil professionnel generique pharmacie inde. Vente de cialis, cialis 100mg canada, Akadstud Magasin en ligne. Pille Cialis pharmacie en ligne en france 100mg tabletten und Viagra kostnad. Vente Vardenafil, Pharmacie en ligne en France, Belgique.Probleme erection. Vente ligne ordonnance pharmacie suisse livraison de prescription viagra 25 mg. https://eurogeneriqueetfrance.com/ipraalox/ Achat Ipraalox En Ligne

  12. WillieRap表示:

    easy canadian pharm: legitimate canadian pharmacy online – my canadian pharmacy review

  13. Very energetic blog, I liked that bit. Will there
    be a part 2?

  14. 1win_kbOa表示:

    1vin официальный сайт fabc.com.kg .

  15. Ваша сцена станет неповторимой с электрокарнизами, сделают ваше выступление незабываемым.
    Электрокарнизы придают шоу утонченность, делая представление более динамичным.
    Электрокарнизы для сцены с электронным управлением, и незабываемым для зрителей.
    Электрокарнизы помогут создать атмосферу шоу, с идеальным сочетанием функциональности и эстетики.
    Электрокарнизы – современное решение для профессиональных выступлений, покоривших сердца зрителей.
    Превратите ваше шоу с помощью электрокарнизов, и принести вашему проекту новый уровень.
    Уникальные решения для каждого типа представления, с легкой и тихой работой в каждом представлении.
    С электрокарнизами ваша сцена станет настоящим шедевром, способных придать умиротворение или напряжение вашему выступлению.
    Обеспечьте шоу непрерывность и слаженность, и подчеркивая профессионализм исполнителей.
    Идеальные решения для любого жанра и формата, чтобы сделать шоу неповторимым и запоминающимся.
    электромеханический карниз для сцены https://elektrokarniz8.ru/ .

  16. WillieRap表示:

    drug mart: discount drug mart – drugmart

  17. порно мультфильм [url=https://multiki-rukoeb1.ru]порно мультфильм[/url] .

  18. WillieRap表示:

    best online canadian pharmacy: online pharmacy canada – canadian pharmacy store

  19. WillieRap表示:

    Mega India Pharm: MegaIndiaPharm – Mega India Pharm

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。