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,520,675 Responses

  1. Amazing blog! Do you have any tips for aspiring
    writers? I’m planning to start my own blog soon but I’m a little lost on everything.
    Would you propose starting with a free platform like
    Wordpress or go for a paid option? There are so many choices out there that I’m totally overwhelmed ..
    Any tips? Cheers!

  2. LeroyBak表示:

    hims ed pills cheap meds viagra without a doctor prescription walmart

  3. Sazrspf表示:

    Официальная покупка диплома вуза с сокращенной программой обучения в Москве
    pochki2.ru/question/ofitsialnyj-diplom-bez-lishnih-usilij-prosto-i-bystro

  4. LeroyBak表示:

    top 10 online pharmacy in india indian pharmacy purchase online india pharmacy

  5. Hi to all, the contents existing at this site are in fact amazing for people experience, well, keep
    up the good work fellows.

  6. Treffar表示:

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

    ffxiv.one/blogs/641/Где-купить-диплом-быстро-и-безопасно

  7. Trefjjg表示:

    Как приобрести диплом о среднем образовании в Москве и других городах
    injectorcar.ru/forum/member.php?u=34916

  8. Trefeat表示:

    Официальная покупка диплома вуза с сокращенной программой обучения в Москве

    planetasp.ru/forum/viewtopic.php?pid=18401#p18401

  9. Incredible story there. What happened after?
    Take care!

  10. Sazrjcz表示:

    Пошаговая инструкция по безопасной покупке диплома о высшем образовании
    moskvic.actieforum.com/login

  11. BrandonSaisy表示:

    buy prescription drugs from india: indian pharm 24 – india online pharmacy

  12. Jorgeagopy表示:

    п»їlegitimate online pharmacies india: Order medicine from India to USA – buy prescription drugs from india

  13. Williamagric表示:

    shots for ed https://indianpharm24.pro/# indian pharmacy paypal

  14. 4 Seater Chesterfield: Myths And Facts Behind 4 Seater Chesterfield Grey Fabric Chesterfield Sofa

  15. Donnell表示:

    Blue Sectional Sofa Tools To Improve Your Daily Life Blue Sectional Sofa Trick That Every
    Person Must Be Able To blue sectional sofa (Donnell)

  16. важная из старейших на земле покера – blackjack, также ставшая
    известной как 21 (очко), знакома каждому человеку, vodka casino обзор не просто.

  17. LeroyBak表示:

    india pharmacy mail order India pharmacy international Online medicine home delivery

  18. top表示:

    The Top Local SEO Near Me Gurus Are Doing Three Things top

  19. Hello would you mind letting me know which web host
    you’re working with? I’ve loaded your blog in 3 different browsers and I must say this blog loads a
    lot faster then most. Can you recommend a good web hosting provider
    at a reasonable price? Kudos, I appreciate it!

  20. LeroyBak表示:

    buy ed pills online buy drugs help with ed

  21. ↑ Умер вокалист группы КРУИЗ Александр Монин (неопр.).
    ↑ Потерянное интервью. Валерий Гаина (Морской круиз цена).

  22. Jorgeagopy表示:

    mexico drug stores pharmacies: Legit online Mexican pharmacy – mexico drug stores pharmacies

  23. LeroyBak表示:

    pharmacies in mexico that ship to usa mexico pharmacy cheap reputable mexican pharmacies online

  24. Its History Of Treatment For ADHD In Adults adhd in adults untreated

  25. Fabric Corner Suites Tools To Streamline Your Daily Life Fabric Corner Suites Trick That Every Person Should Know fabric Corner suites

發佈留言

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