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,222 Responses

  1. Josephmax表示:

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

  2. Aus diesem Grund haben wir YouTube Video Downloader entwickelt.

  3. DarioTob表示:

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

  4. Tom Richards表示:

    The price of cheap car insurance coverage in Pasadena TX may differ, yet along with some investigation, it is actually effortless to locate affordable rates best auto insurance

  5. Iyannaobesk表示:

    скачать мобильный покер клуб
    мобильный покер клуб на деньги

  6. DarioTob表示:

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

  7. dvds for sale表示:

    Thanks designed for sharing such a fastidious thinking, piece
    of writing is pleasant, thats why i have read it entirely

    My web site … dvds for sale

  8. I’m more than happy to find this great site.
    I need to to thank you for your time due to this fantastic read!!
    I definitely loved every part of it and I have you saved to
    fav to check out new things on your website.

    Stop by my website latest dvd releases

  9. Iyannaobesk表示:

    jackpoker review
    https://t.me/s/jackpoker_review

  10. HenrydeT表示:

    пин ап казино pinup kazi пин ап зеркало

  11. We stumbled over here by a different website and thought I might as well check things out.
    I like what I see so i am just following you. Look forward
    to looking into your web page for a second time.

  12. Hiya, excellent web site you’ve right now.
    https://www.tvzachod.pl

  13. HenrydeT表示:

    пин ап казино pinup kazi пин ап вход

  14. Nikefut表示:

    darknet sites darknet market list darkmarkets

  15. DarioTob表示:

    вавада: вавада казино зеркало – вавада казино зеркало

  16. Great beat ! I would like to apprentice at the same time
    as you amend your web site, how could i subscribe for a weblog
    site? The account aided me a acceptable deal.
    I were a little bit acquainted of this your broadcast provided bright transparent idea

    My web blog – dvd distributors

  17. В случае возникновения проблем клиенты казино могут в любое время обратиться в круглосуточную техническую поддержку.

  18. Very good web-site you have here.
    https://radomsko24.pl

  19. HenrydeT表示:

    pinup kazi pinup kazi пинап казино

  20. Attractive element of content. I just stumbled upon your weblog and in accession capital to say that I get in fact enjoyed account your blog posts.
    Any way I will be subscribing in your augment and even I achievement you
    get entry to persistently quickly.

  21. Brent Fox表示:

    Hitclub ra mắt sân chơi mới thật hấp dẫn Hit Club

  22. Демоверсия аппаратов в клубе Vulkan Russia —
    отличный шанс поближе познакомиться с
    играми, оценить показатель возврата и другие параметры.

  23. Big Cock表示:

    I have read so many articles regarding the blogger
    lovers however this paragraph is genuinely a nice article, keep it up.

  24. Jamesdiure表示:

    пин ап казино онлайн: пин ап казино – пинап казино

  25. CurtisIncix表示:

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

  26. HenrydeT表示:

    казино вавада vavada вавада казино онлайн

發佈留言

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