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,383,504 Responses

  1. Профессиональный сервисный центр по ремонту планшетов в Москве.
    Мы предлагаем: отремонтировать планшет
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  2. HaroldBig表示:

    ozempic online: ozempic online – buy ozempic

  3. RamonRek表示:

    buy cheap ozempic: buy ozempic pills online – ozempic generic

  4. Jeremypag表示:

    semaglutide cost semaglutide online semaglutide tablets

  5. **1win Côte d’Ivoire** est votre destination incontournable pour profiter pleinement des paris en ligne. Que vous soyez passionné de sports ou adepte des jeux de casino, 1win vous offre une plateforme moderne et intuitive qui répond à tous vos besoins. Avec une large gamme d’options de divertissement et des cotes compétitives, vous pouvez parier en toute sécurité tout en profitant de bonus généreux.

    ### Pourquoi choisir 1win Côte d’Ivoire?

    1. **Diversité des paris sportifs**
    1win Côte d’Ivoire propose des paris sur une multitude de sports, y compris le football, le basketball, le tennis, et bien plus encore. Que vous soyez amateur des compétitions locales ou des grands tournois internationaux, vous trouverez toujours une opportunité de parier sur vos événements préférés avec des cotes attractives.

    2. **Une expérience de casino en ligne exceptionnelle**
    Outre les paris sportifs, 1win offre une vaste sélection de jeux de casino. Machines à sous, roulette, blackjack, poker – il y a de quoi satisfaire tous les goûts. Tous les jeux sont développés par les meilleurs fournisseurs pour garantir une qualité de jeu irréprochable.

    3. **Bonus et promotions attractifs**
    Les nouveaux utilisateurs de 1win bénéficient d’un généreux bonus de bienvenue qui peut multiplier leurs chances de gains. De plus, de nombreuses promotions régulières sont disponibles pour récompenser la fidélité des joueurs.

    4. **Sécurité et fiabilité**
    La plateforme 1win Côte d’Ivoire est sécurisée et utilise des technologies de cryptage avancées pour protéger vos informations personnelles et financières. Vous pouvez parier en toute tranquillité d’esprit.

    ### Comment commencer?

    S’inscrire sur 1win Côte d’Ivoire est simple et rapide. Il vous suffit de créer un compte, d’effectuer un dépôt et de commencer à parier ou à jouer à vos jeux de casino préférés. L’interface conviviale vous permet de naviguer facilement entre les différentes sections, que vous soyez sur un ordinateur ou un mobile.

    Ne manquez pas l’opportunité de faire partie de la communauté 1win et de vivre des moments inoubliables en pariant sur vos événements sportifs favoris ou en explorant l’univers passionnant du casino en ligne. Inscrivez-vous dès aujourd’hui et commencez à gagner avec 1win Côte d’Ivoire!

    https://pochki2.ru/question/1win-cote-divoire-com-100l

  6. Frankevild表示:

    http://ozempic.art/# ozempic online

  7. RamonRek表示:

    semaglutide cost: semaglutide tablets – rybelsus cost

  8. Jeremypag表示:

    semaglutide cost rybelsus pill buy semaglutide pills

  9. HaroldBig表示:

    buy ozempic pills online: Ozempic without insurance – buy ozempic pills online

  10. Please let me know if you’re looking for a article author for your blog.
    You have some really good articles and I believe I would be a good asset.
    If you ever want to take some of the load off, I’d absolutely love to write some material for your blog in exchange for a link back to
    mine. Please shoot me an e-mail if interested. Kudos!

  11. Excellent beat ! I wish to apprentice while you amend your website, how could i subscribe for a blog website?
    The account helped me a acceptable deal. I had been a little bit acquainted of this your broadcast offered
    bright clear concept

  12. Thanks for finally talking about > JS 依照元素出現數量排序
    – 馬老師 雲端研究室 < Liked it!

  13. Jeremypag表示:

    semaglutide tablets buy semaglutide online buy semaglutide online

  14. Caryn表示:

    This area is not as richly supplied with capillary as
    are your muscle mass.

  15. Subprime Auto Loan Lenders – Do ‘T Be A Victim Of The Repo Man 개인돈 대출

  16. How To Make An Amazing Instagram Video About Situs Togel Online Situs Toto Togel

  17. Please let me know if you’re looking for a article writer for your blog.
    You have some really good articles and I feel I would be a good asset.
    If you ever want to take some of the load off, I’d love to write some
    articles for your blog in exchange for a link back to mine.
    Please send me an e-mail if interested. Regards!

  18. Impressive, what an enlightening post! I really savored
    reading about your perspective on this theme .
    It’s unquestionably given me a wealth to ponder .

    I’d long to hear more of your insights , if you’re inclined to prolonging the
    exchange.

    Incidentally , have you known of MEGA888 ?
    It’s an terrific virtual gaming system with piles of
    invigorating opportunities. I’ve experienced there and the experience has been outstanding .
    Assuming that you’re in search of a new
    way to experience some entertainment and potentially
    triumph , I’d highly endorse exploring it out
    . Let me notify whether you’re eager and I can offer more information !

    My web site :: online casino social responsibility

  19. RamonRek表示:

    buy cheap ozempic: Ozempic without insurance – buy ozempic pills online

  20. You Are Responsible For A Repairing Glass Budget?
    12 Best Ways To Spend Your Money home glass repair Near me

  21. Frankevild表示:

    http://ozempic.art/# buy ozempic pills online

  22. We stumbled over here by a different web page and thought I might as well check things out.
    I like what I see so i am just following you. Look forward to looking at your web page yet again.

  23. HaroldBig表示:

    ozempic cost: ozempic generic – ozempic online

  24. Check Out The Private ADHD Assessment Tricks That
    The Celebs Are Utilizing Private adhd Adult Assessment

  25. The basic principles for managing fire risks are taken into consideration in higher.

  26. 수원은 서울의 축소판이라 불리지만, 수원 셔츠룸은 서울 유흥의 확대판입니다!!

  27. Slot2d adalah 15slot2d.com link untuk daftar akun gacor di slot88 resmi tanpa
    ribet bermain slot gacor online dengan tingkat berkualitas tertinggi di link login daftar slot2d terpopuler
    deposit murah banjir scatter pasti maxwin auto kembali

  28. FRP表示:

    This is really interesting, You are an overly professional blogger.
    I have joined your feed and stay up for in quest of extra of your excellent post.
    Additionally, I’ve shared your web site in my social networks

  29. Профессиональный сервисный центр по ремонту планшетов в Москве.
    Мы предлагаем: ремонт планшетников
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  30. Michaelkeymn表示:

    Наша юкос «Фотосайт по мебели для кухни» занимается организацией и продажей качественной кухонной мебели. Автор делаем отличное предложение широкий круг продукции, который расплачивается самым современным штампам а также тенденциям дизайна https://www.sufebey8kuhnishki.ru.

發佈留言

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