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,432,568 Responses

  1. Kathlene表示:

    berkhamsted double glazing (Kathlene)

  2. lost表示:

    %%

    My web blog lost

  3. Cedric表示:

    I’ll right away snatch your rss feed as I can not find your e-mail subscription hyperlink or newsletter service.

    Do you have any? Kindly let me recognise in order
    that I could subscribe. Thanks.

    Also visit my webpage – top poker sites (Cedric)

  4. Ramonita表示:

    Are You Confident About Doing Integrated washer dryer built in (Ramonita) And Dryer?
    Do This Test

  5. Pretty portion of content. I just stumbled upon your web site and in accession capital to say that I acquire in fact loved account your weblog posts.
    Any way I will be subscribing for your augment or even I success you get admission to persistently rapidly.

  6. JuliusMox表示:

    https://levitra.icu/# Generic Levitra 20mg

  7. Buy a verified Cash App account and enjoy seamless transactions with added security.

    Avoid the hassles of waiting for verification and
    start sending and receiving funds instantly.
    Trustworthy and reliable, our verified accounts provide peace of
    mind and enhance your overall Cash App experience.

  8. CarrieSpivy表示:

    cat casino
    http://www.kosmetichka.ru/kosmoforum/memberlist.php?mode=viewprofile&u=46434
    Казино это как джунгли, где только сильнейший выживает, и на Cat Casino вам предстоит стать главным охотником за джекпотами. Каждый спин барабанов — это как стрела, выпущенная в сердце леса, никогда не зная, что ждет вас на другом конце стрелы. Cat Casino предоставляет вам шанс разгадать тайны азарта и собрать свою коллекцию невероятных выигрышей.Cat Casino — это не просто сайт для игры в азартные игры, это истинное шоу, где каждый спин на игровых автоматах может стать настоящим произведением искусства. В 2023 году мы снова удивляем своих гостей неординарной графикой и инновационными механиками игры. Это не просто казино, это виртуальная страна удовольствий, где каждый вращение барабана — это билет в мир фантазий и желаний.

  9. %%

    Visit my web-site :: Coffee machine

  10. Mohamed表示:

    %%

    Feel free to visit my web page – audi key replacement (Mohamed)

  11. Alonzo表示:

    %%

    Here is my blog … quotation analysis (Alonzo)

  12. Staci表示:

    %%

    Review my blog post … avon join – Staci

  13. %%

    My website :: Side By Side Fridge And Freezer Pair (Rodgers-Doherty.Thoughtlanes.Net)

  14. Georgiana表示:

    range rover evoque ghost installer; Georgiana,

  15. www.opin.uk表示:

    designer handbags chanel (http://www.opin.uk)

  16. Rosalina表示:

    %%

    Also visit my website … mazda 6 key (Rosalina)

  17. Calvin表示:

    asbestos lawsuit attorney (Calvin)

  18. Reagan表示:

    %%

    Feel free to surf to my webpage :: ghost ii immobiliser (Reagan)

  19. Borbonchia.Ge表示:

    The Leading Reasons Why People Achieve In The wasatch Railroad contractors
    lawsuit – Borbonchia.Ge – Lawsuit Leukemia Industry

  20. %%

    Take a look at my web blog :: full spectrum Cbd oil uk (http://www.housekibako.Info)

  21. %%

    Also visit my web blog … cbd north premium full-spectrum Cbd Oil (mysocialfeeder.Com)

發佈留言

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