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,526,570 Responses

  1. bokep jilbab表示:

    Oh my goodness! Awesome article dude! Thanks, However I am having issues with your RSS.
    I don’t understand the reason why I am unable to
    join it. Is there anybody else having the same RSS issues? Anyone that
    knows the solution can you kindly respond? Thanks!!

  2. Diplomi_vfel表示:

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

  3. I am regular visitor, how are you everybody?

    This post posted at this web site is genuinely good.

  4. Nice post. I learn something new and challenging on sites I stumbleupon every
    day. It’s always useful to read articles from other authors and
    practice something from their web sites.

  5. RAJA111 merupakan situs link login raja slot online terbaru yang mengutamakan kenyamanan member rajaslot terpercaya top 111 slot sebagai prioritas utama

  6. MichaelTig表示:

    Виртуальный номер телефона — это номер без SIM-карты. С Numero вы можете получить виртуальные телефонные номера в более чем 80 странах виртуальный номер для тг

  7. It’s actually very complex in this active life to
    listen news on Television, therefore I simply use the web for that
    purpose, and obtain the latest news.

  8. Diplomi_uxOl表示:

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

  9. WngPaish表示:

    the best dealDon’t let your age control your sex life. Visit rx pharmacy remain in the body?

  10. Diplomi_aiel表示:

    купить диплом 2015 купить диплом 2015 .

  11. Diplomi_feOl表示:

    купить диплом на заказ diplomdarom.ru .

  12. Getting Started With Magic Card Tricks 인천 다바오 직항 – https://maps.google.fr/,

  13. Oh my goodness! Incredible article dude! Thanks,
    However I am encountering problems with your RSS. I don’t know the reason why I cannot subscribe to it.
    Is there anybody having similar RSS problems? Anyone who knows the solution can you kindly respond?
    Thanx!!

  14. It’s going to be ending of mine day, except before ending I am reading
    this wonderful article to improve my experience.

  15. Drug information sheet. Short-Term Effects.
    cymbaltas potential link to heartburn unraveling the connection
    Best what you want to know about drugs. Get information now.

  16. Your method of describing all in this post is in fact nice,
    all can effortlessly know it, Thanks a lot https://www.provenexpert.com/nl-nl/pub029/

  17. Diplomi_guel表示:

    купить аттестаты об образовании купить аттестаты об образовании .

  18. вывод из запоя химки стационар вывод из запоя химки стационар .

  19. нарколог на дом вывод из запоя химки нарколог на дом вывод из запоя химки .

  20. вывод из запоя химки стационар вывод из запоя химки стационар .

  21. нарколог на дом вывод из запоя химки нарколог на дом вывод из запоя химки .

  22. как вызвать наркологическую бригаду https://skoraya-narkologicheskaya-pomoshch-moskva13.ru .

  23. Istanbul_fwst表示:

    История и развитие Istanbul International Airport, как все начиналось и что из этого вышло.
    Необычные стороны аэропорта, которые вас удивят.
    Строительство Istanbul International Airport, которые невозможно не отметить.
    Планы и развитие Istanbul International Airport, направления роста и совершенствования.
    Какие новшества ждут пассажиров, какие услуги понравятся каждому.
    main istanbul airport https://airportistanbulinternational.com/ .

發佈留言

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