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,123,495 Responses

  1. Darrelherse表示:

    yasal slot siteleri: en iyi slot siteleri – slot siteleri

  2. KevinSounc表示:

    http://slotsiteleri.bid/# slot bahis siteleri

  3. Darrelherse表示:

    yeni slot siteleri: 2024 en iyi slot siteleri – en iyi slot siteler

  4. Darrelherse表示:

    yeni slot siteleri: en guvenilir slot siteleri – deneme bonusu veren siteler

  5. Hey! I realize this is somewhat off-topic but I needed to ask.

    Does running a well-established blog such as yours require a massive amount work?

    I am completely new to running a blog however
    I do write in my diary on a daily basis. I’d like to start a blog so I can easily
    share my own experience and thoughts online. Please let me know if
    you have any kind of suggestions or tips for
    new aspiring blog owners. Appreciate it!

  6. After exploring a few of the blog posts on your web page, I really appreciate your technique of blogging.
    I saved it to my bookmark site list and will be checking back soon. Please check out my website as well and let
    me know how you feel.

  7. GTR12表示:

    Thanks on your marvelous posting! I definitely enjoyed
    reading it, you could be a great author.I will make certain to bookmark your blog and will eventually
    come back very soon. I want to encourage yourself to continue your great posts, have
    a nice morning!

  8. Darrelherse表示:

    guvenilir slot siteleri 2024: deneme bonusu veren siteler – yasal slot siteleri

  9. Visit here表示:

    Thank you, I’ve recently been searching for information about this topic for ages and yours is the best I have discovered so far.
    But, what in regards to the bottom line? Are you positive about the
    source?

  10. Darrelherse表示:

    casino slot siteleri: deneme veren slot siteleri – en iyi slot siteler

  11. Darrelherse表示:

    deneme bonusu veren siteler: deneme bonusu veren siteler – en iyi slot siteler

  12. XXX表示:

    Ιt’s actually a great and usеful piece off info.
    I’m satisfied that yοu shared tһіѕ usefyl infoгmation with us.
    Please қeep us infdormed like tһis. Thanks for sharing.

    Feell free tⲟ visit my h᧐mepage – XXX

  13. Darrelherse表示:

    slot bahis siteleri: bonus veren slot siteleri – deneme bonusu veren siteler

  14. Everything is very open with a clear clarification of the challenges.
    It was truly informative. Your website is very helpful.
    Thank you for sharing!

  15. cskKep表示:

    Крепеж оптом в Екатеринбурге по низкой цене купить здесь https://csk66.ru/

  16. KevinSounc表示:

    http://denemebonusuverensiteler.win/# deneme bonusu veren siteler

  17. Darrelherse表示:

    en iyi slot siteler: slot oyun siteleri – en yeni slot siteleri

  18. See more表示:

    Excellent web site you’ve got here.. It’s difficult to find quality writing
    like yours these days. I seriously appreciate
    individuals like you! Take care!!

  19. Great goods from you, man. I’ve understand your stuff previous to and you’re just extremely fantastic.
    I really like what you’ve acquired here, really like what you’re stating
    and the way in which you say it. You make it enjoyable and
    you still take care of to keep it wise. I can’t wait to read much more from you.
    This is really a tremendous web site.

  20. Audi Keys表示:

    7 Things About Audi Key You’ll Kick Yourself For Not Knowing Audi Keys

  21. I have read so many articles or reviews regarding the blogger lovers however this article is truly a fastidious article,
    keep it up.

  22. Are You Responsible For The Programing Keys Budget? Twelve Top Tips To
    Spend Your Money Transponder Key Programmer

  23. What Will Volvo V40 Key Be Like In 100 Years? Volvo key coding

發佈留言

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