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,478,889 Responses

  1. Nikefut表示:

    free dark web darkmarket 2024 darkmarket url

  2. mostbetazzaSi表示:

    Mostbet – ishonchli onlayn kazino va sport turlari sayti | Mostbet yangi foydalanuvchilar uchun bonuslar taklif etadi | Mostbet orqali yutuqlar va bonuslarni qo‘lga kiriting | Mostbet-da yangi foydalanuvchilar uchun qiziqarli bonuslar | Mostbet O‘zbekiston bozorida yetakchi o‘yin platformasi http://mostbetazcasino.com.az/

  3. I do not even know how I ended up here, but I thought this post
    was great. I do not know who you are but definitely you
    are going to a famous blogger if you are not already 😉
    Cheers!

  4. Scammer表示:

    Kalau ada tawaran yang kelihatan bagus banget dari link mencurigakan, lebih baik dihindari aja.

    Biasanya itu cuma trik buat scam kita.

  5. Drugs information sheet. Drug Class.
    can you buy cheap levonorgestrel tablets
    Some what you want to know about drugs. Get now.

  6. The 3 Greatest Moments In Rank Tracker Powersuite History
    Seo tools london (cameron-clausen.technetbloggers.de)

  7. Iyannaobesk表示:

    jack poker bonus code
    bonus code jack poker

  8. Jamesdiure表示:

    pinup: пин ап казино – пин ап зеркало

  9. CurtisIncix表示:

    вавада казино онлайн: vavada kazi – vavada

  10. mostbetazkaSi表示:

    Mostbet-da yutuqlar uchun o‘z imkoniyatingizni sinab ko‘ring | Mostbet sayti orqali yangi yutuqlar uchun imkoniyat yarating | Mostbet orqali har kuni yangi aksiyalar va bonuslar | Mostbet-da o‘yin va pul tikish imkoniyatlaridan foydalaning | Mostbet-da yuqori darajadagi o‘yinlar va yutuqlarni sinab ko‘ring http://mostbetazcasino.com.az/

  11. Yesterday, while I was at work, my cousin stole my apple ipad and tested to see if it can survive a
    30 foot drop, just so she can be a youtube sensation. My iPad is now destroyed and she has
    83 views. I know this is totally off topic but I
    had to share it with someone!

  12. 15 Pinterest Boards That Are The Best Of All Time About Realistic Love
    Doll realistic Sex Doll

  13. I loved as much as you will receive carried out right here.
    The sketch is attractive, your authored subject matter stylish.
    nonetheless, you command get bought an shakiness over that you
    wish be delivering the following. unwell unquestionably come more formerly again since
    exactly the same nearly very often inside case you shield this increase.

    My blog post :: 55+ communities

  14. Josephmax表示:

    http://pinup-kazi.kz/# pinup-kazi.kz

  15. Nikefut表示:

    dark market onion darknet site dark web websites

  16. Josephmax表示:

    https://vavada-kazi.ru/# vavada-kazi.ru

  17. A fascinating discussion is worth comment. I believe that you need to publish more about
    this subject, it may not be a taboo matter but generally folks don’t speak about
    these issues. To the next! Many thanks!!

  18. HenrydeT表示:

    пин ап вход pinup пин ап казино официальный сайт

  19. Jamesdiure表示:

    pinup-kazi.kz: pinup – pin up казино

  20. DarioTob表示:

    pinup: pin up казино – пин ап кз

  21. нарколог на дом екатеринбург цены http://golosa.ukrbb.net/viewtopic.php?f=3&t=7473/ .

  22. CurtisIncix表示:

    pinup-kazi.kz: пин ап казино онлайн – пин ап казино

  23. DarioTob表示:

    пин ап казино официальный сайт: пин ап казино официальный сайт – pinup

  24. Gene Guzman表示:

    The level of excitement in playing these new captivating slots from yo088 is off the charts! Yo88

發佈留言

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