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,482,202 Responses

  1. bolacasino88表示:

    Hmm is anyone else having problems with the pictures on this blog loading?

    I’m trying to figure out if its a problem on my end or if it’s the blog.

    Any responses would be greatly appreciated.

  2. Sazrawk表示:

    Как безопасно купить диплом колледжа или ПТУ в России, что важно знать
    vetstate.ru/forum/?PAGE_NAME=profile_view&UID=144360

  3. AlbertDuM表示:

    plavix medication: buy plavix online – buy clopidogrel online

  4. Currently it appears like BlogEngine is the preferred blogging platform out there right now.
    (from what I’ve read) Is that what you are using on your blog?

  5. JacobLoody表示:

    http://www.goldcoon.ru – Все о современных и функциональных кухнях на нашем сайте.

  6. DarrenUnjuh表示:

    https://lisinopril1st.com/# lisinopril1st

  7. Grace Dixon表示:

    I appreciate that metal roofs can be applied over existing shingles, saving time and money! Find out how at commercial roofing contractors

  8. Nikefut表示:

    dark market free dark web darknet market links

  9. Sazruly表示:

    Как безопасно купить диплом колледжа или ПТУ в России, что важно знать

    forum.veterinar.ru/member.php?524909-worksale

  10. Five Killer Quora Answers On Realistic Sex Doll Sale Realistic Sex Doll Sale (http://Www.Scjandrew.Net)

  11. Sazrffh表示:

    Парадокс, но купить диплом кандидата наук оказалось не так и сложно

    mosvol.flybb.ru/viewtopic.php?f=2&t=316

  12. Sazrlcs表示:

    Как избежать рисков при покупке диплома колледжа или ПТУ в России

    o91746bp.beget.tech/2024/10/20/bez-ucheby-diplom-v-karmane.html

  13. Excellent beat ! I wish to apprentice even as you amend your
    web site, how can i subscribe for a weblog web site? The account helped me a applicable deal.

    I were tiny bit familiar of this your broadcast provided vibrant
    transparent concept

  14. Medicines information. Brand names.
    where to buy generic fosamax without dr prescription
    Everything information about medication. Get information here.

  15. Hiop表示:

    Dance Party Hiop

  16. OP表示:

    Burlesque Show OP

  17. Are you in search of intelligent and attractive call
    girls in Jaipur? Look no further because we have exactly what you desire.
    Our collection of Indian girls is not only stunning but also seductive,
    guaranteeing an unforgettable experience. At Callgirlanytimes.com,
    we provide premium call girl services that
    are unparalleled in quality. Once you’ve experienced
    the charm and allure of our girls, there’s no turning back.

  18. BernardMop表示:

    buy cytotec over the counter cheapest cytotec buy cytotec online

  19. BernardMop表示:

    cheapest Lisinopril lisinopril1st lisinopril1st

  20. Sazrkep表示:

    Узнайте, как приобрести диплом о высшем образовании без рисков

    moskvic.actieforum.com/login

  21. constantly i used to read smaller content which also clear their motive, and that is also happening with this paragraph which I am reading here.

  22. Your mode of explaining everything in this post is truly nice, every one
    can easily be aware of it, Thanks a lot https://abrasifsea.com/categorie-produit/disques/disques-fibres/

  23. Sazrxhp表示:

    Полезные советы по покупке диплома о высшем образовании без риска

    vostorg.flybb.ru/viewtopic.php?f=2&t=923

發佈留言

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