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,672,013 Responses

  1. Michaelkig表示:

    darkmarket darknet drug market darkmarket list

  2. spookyswap表示:

    Top crypto sites in 2025

  3. 3 Common Causes For Why Your Pvc Door Hinges Isn’t Working (And How To Fix It) Repair Window Hinges

  4. Williecrady表示:

    Pemain bisa menikmati slot dari kenyamanan rumah https://garuda888.top/# Pemain harus memahami aturan masing-masing mesin

  5. Williecrady表示:

    Keseruan bermain slot selalu menggoda para pemain http://slot88.company/# Banyak kasino menawarkan permainan langsung yang seru

  6. I savor, result in I found exactly what I was having a look for.
    You have ended myy 4 day lengthy hunt! God Bless you man. Have a nice day.
    Bye

    Here is my homepage :: Evolution Casino

  7. VampexBit App表示:

    Wow, wonderful weblog layout! How long have you ever been blogging for?
    you made running a blog glance easy. The whole glance of your site
    is fantastic, let alone the content material!

  8. toket表示:

    Hello There. I found your blog using msn. This is an extremely well written article.
    I’ll make sure to bookmark it and come back to read more of your useful
    information. Thanks for the post. I’ll certainly return.

  9. MarcuskeK表示:

    В 2025 году ключ активации Windows 11 станет ключевым элементом для пользователей, стремящихся воспользоваться всеми преимуществами этой современной операционной системы. С учетом регулярных обновлений и нововведений, направленных на улучшение производительности и безопасности, активированный статус обеспечит доступ к последним функциям и патчам. ключ активации windows 11

  10. Sonnydip表示:

    В 2025 году вопрос активации Windows 10 останется важным для многих пользователей, стремящихся обеспечить безопасность и стабильность своих устройств. Несмотря на появление новых версий операционной системы, таких как Windows 11, Windows 10 продолжит поддерживаться Microsoft с обновлениями безопасности и функциональности. Ключ активации, представляющий собой уникальную комбинацию символов, позволит подтвердить легальность вашей копии и получать доступ к критически важным обновлениям.
    ключ активации windows 10

  11. DavidCooth表示:

    https://bonaslot.site/# Pemain harus menetapkan batas saat bermain

  12. Williecrady表示:

    Kasino memastikan keamanan para pemain dengan baik https://garuda888.top/# Kasino mendukung permainan bertanggung jawab

  13. Billfut表示:

    darknet markets 2025 bitcoin dark web

  14. PENIPU表示:

    When someone writes an piece of writing he/she
    maintains the plan of a user in his/her brain that
    how a user can know it. So that’s why this paragraph is amazing.
    Thanks!

  15. DavidCooth表示:

    http://slotdemo.auction/# Banyak kasino memiliki program loyalitas untuk pemain

  16. Hi there, always i used to check weblog posts here early
    in the daylight, for the reason that i enjoy to learn more and more.

  17. Wow, amazing blog layout! How long have you been blogging for?
    you make blogging look easy. The overall look of
    your website is fantastic, as well as the content!

  18. Aaronbus表示:

    preman69 preman69 Permainan slot mudah dipahami dan menyenangkan

  19. Aaronbus表示:

    bonaslot.site BonaSlot Keseruan bermain slot selalu menggoda para pemain

  20. DavidCooth表示:

    https://slot88.company/# Kasino di Jakarta memiliki berbagai pilihan permainan

  21. Williecrady表示:

    Mesin slot sering diperbarui dengan game baru https://slot88.company/# Slot modern memiliki grafik yang mengesankan

  22. I wantеd to thаnk you for this excellent
    rеad!! I absolutely loved every little bit of it.I’ve got you
    bⲟok-marked to check oսt new things you post…

    Feel freе to surf to my web-site infonya disini

  23. I was suggested this blog through my cousin. I am no
    longer positive whether or not this post is written through him as nobody else know such specific approximately my problem.
    You’re wonderful! Thanks!

  24. What’s up, I wish for to subscribe for this blog to obtain most up-to-date updates, therefore where can i do it please
    help.

發佈回覆給「mitolyn reviews」的留言 取消回覆

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