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,230,405 Responses

  1. Hi there, i read your blog from time to time and i own a similar one and i was
    just curious if you get a lot of spam comments? If so how do you prevent it, any plugin or anything you can suggest?

    I get so much lately it’s driving me mad so any assistance is very much appreciated.

  2. Amazing issues here. I am very glad to peer your article.
    Thank you so much and I’m looking forward to touch
    you. Will you kindly drop me a e-mail?

  3. Hello there! I simply want to give you a huge thumbs up for the excellent info
    you have got right here on this post. I am coming back to
    your site for more soon.

  4. sc.sie.gov.hk表示:

    An impressive share! I’ve just forwarded this onto a coworker
    who was conducting a little research on this.
    And he actually bought me lunch simply because I stumbled upon it for him…
    lol. So let me reword this…. Thank YOU for the meal!! But yeah, thanx for spending time to discuss this
    topic here on your web page.

  5. Right here is the right site for anyone who wishes to understand
    this topic. You understand so much its almost hard to argue with you (not that I actually will need to…HaHa).

    You definitely put a new spin on a topic that has been written about
    for decades. Excellent stuff, just wonderful!

  6. For hottest information you have to pay a quick visit internet and on the web I found this web site as a best web page for most up-to-date updates.

  7. Does your blog have a contact page? I’m having trouble locating it but, I’d like to
    send you an email. I’ve got some suggestions for your blog you might be interested
    in hearing. Either way, great blog and I look forward to
    seeing it improve over time.

  8. peatix.com表示:

    It’s going to be finish of mine day, however before end I am reading this
    enormous post to increase my experience.

  9. casino online表示:

    Appreciating the time and effort you put into your blog
    and detailed information you offer. It’s awesome to come across a blog every once in a while that isn’t the same outdated rehashed information. Fantastic read!
    I’ve bookmarked your site and I’m including your RSS feeds to my Google account.

  10. Whats up this is kind of of off topic but I was wanting to know if blogs use WYSIWYG editors
    or if you have to manually code with HTML. I’m starting
    a blog soon but have no coding expertise so I wanted to get guidance from someone with experience.
    Any help would be greatly appreciated!

  11. nordic walkng表示:

    Abgesehen von der Formel gibt es zur Feststellung der optimalen Länge jedoch noch eine Alternative: Stell Dich einfach
    aufrecht mit beiden Stöcken in der hand hin. Wenn sich zwischen Ober- und Unterarmen ein 90 Grad
    Winkel bildet, haben die Stöcke Ideal Länge.
    Auch kannst Du so überprüfen, ob Du eher einen Griff aus Gummi,
    Kork oder Schaumstoff verwenden möchtest. Achtung Bergsteiger: Wenn
    Du planst, mit Deinen neu erworbenen Stöcken häufiger steile Berge hoch und runter zu marschieren, solltest Du Dir
    unbedingt ein Stockpaar mit Teleskop-Funktion zulegen. Beim Kauf des ersten Stockpaars dienlich deshalb ein Besuch im Fachgeschäft, damit Du die Stöcke
    vorm Kauf anfassen und ausprobieren kannst. Die einheitliche Stocklänge ist lediglich
    eine Empfehlung für normale Strecken ohne große Steigungen oder Gefällen. Sofern Du zwischen 1,52 Meter und 2,05 Meter groß bist,
    wirst Du dort die passende Stocklänge für Dich finden. Wenn Du die Stocklänge nicht selbst berechnen möchtest,
    habe ich für Dich die folgende Tabelle vorbereitet.
    Bitte beachte, dass man stets zum kürzeren Stock greift, wenn man sich größentechnisch zwischen zwei Stocklängen befindet.

  12. Yes! Finally someone writes about situs judi slot online.

  13. This design is spectacular! You definitely know how to keep a reader
    entertained. Between your wit and your videos, I was almost moved to start my own blog (well, almost…HaHa!) Fantastic job.
    I really enjoyed what you had to say, and more than that,
    how you presented it. Too cool!

  14. I’m really enjoying the design and layout of your website.
    It’s a very easy on the eyes which makes it much more enjoyable for me
    to come here and visit more often. Did you hire out a developer to create your theme?
    Great work!

  15. If some one wants expert view regarding blogging and site-building afterward i recommend him/her
    to pay a visit this webpage, Keep up the fastidious work.

  16. Hi there i am kavin, its my first time to commenting anyplace, when i read this paragraph i thought i could also create
    comment due to this brilliant paragraph.

  17. I was curious if you ever thought of changing the page layout of your blog?
    Its very well written; I love what youve got to say.
    But maybe you could a little more in the way of content so people could connect with it
    better. Youve got an awful lot of text for only having one or two images.
    Maybe you could space it out better?

  18. Hi, i read your blog from time to time and i own a similar one and i was just wondering if
    you get a lot of spam feedback? If so how do you stop it, any plugin or anything you can advise?
    I get so much lately it’s driving me crazy so any support is very much appreciated.

  19. What’s up to every one, it’s genuinely a pleasant
    for me to pay a visit this website, it includes precious Information.

  20. Wow that was unusual. I just wrote an extremely long
    comment but after I clicked submit my comment didn’t show up.
    Grrrr… well I’m not writing all that over again. Anyways, just wanted to say excellent blog!

  21. slot tergacor表示:

    Slot deposit Pulsa Ketaslot, yakni Laman/Situs slot tergacor yang mempermudah para pemain/playernya,
    dengan menerapkan deposit pulsa tanpa potongan, sehingga mempermudah playernya untuk mengerjakan deposit dengan menjalankan pengisian pulsa dimana dan kapan malahan. Hal ini tentunya, kian membikin player yang tak memiliki emoney atau jauhnya jarak ke mesin ATM untuk mengerjakan deposit dengan cuma menerapkan pulsa.

    Deposit Pulsa Slot Tergacor cuma Rp 10 Ribu tanpa potongan

    Hadirnya deposit pulsa tanpa potongan di slot tergacor ketaslot tentunya
    untuk memanjakan para playernya. Hal ini tentunya menjadi pembeda Ketaslot dengan website judi online lainnya dan tentunya kebinjakkan ini benar-benar menguntungkan para anggota.
    Kecuali Deposit pulsa tanpa potongan, ketaslot sebagai slot tergacor juga mempunyai bermacam jenis promo dan bonus menarik lainnya

    7 Game Slot Tergacor Deposit Pulsa Tanpa Potongan

    Sebelum bermain slot di slot tergacor ketaslot, dapat diamati live RTP
    Ketaslot, supaya potensi anda untuk menang bermain slot di ketaslot cukup besar

    Minimal Deposit Slot Gacor IDR 10,000
    Minimal Penarikan IDR 50,000
    Pelaksanaan Transaksi ± 3 Menit
    Cara Deposit Transfer Bank, E-Money & Pulsa
    Slot Tergacor Starlight, Gates of Olympus, Bonanza
    Live Slot Tergacor RTP Pragmatic Ketaslot Deposit Pulsa

    Pragmatic Play dikala ini telah menjadi primadona player untuk
    bermain game-game slot. Untuk itu, Ketaslot
    sebagai Slot tergacor dan deposit pulsa tanpa potongan menghadirkan live RTP Pragmatic Play untuk mengevaluasi game-game mana
    saja yang memiliki winrate yang tinggi, mulai dari aztec gems, wild
    west, sampai kakek Zeus di gates of olympus dan seluruh game slot tergacor ini, dapat anda mainkan cuma dengan 10ribu dan dapat juga dengan menerapkan pulsa tanpa potongan

  22. When someone writes an post he/she retains the thought of a user in his/her brain that how a user
    can be aware of it. Thus that’s why this article is great.
    Thanks!

  23. Vergleiche eine der Karibik sind durchaus angebracht, sogar wenn keine Kokospalmen die Uferbereiche
    säumen. Es Trenc liegt mitten unzerteilbar Naturschutzgebiet und wird in der Etappe von einer weitläufigen Dünenlandschaft begrenzt.
    An einigen Abschnitten werden Strohschirme und Liegen vermietet und
    bei Ses Covetes gibt es der eine oder andere Strandbars. Der feinsandige
    Strand fällt flach ins Meer ab und ist besonders familienfreundlich.
    Für Anhänger des textilfreien Badevergnügens gibt es einen FKK-Bereich.
    Die Cala Agulla liegt an der Nordostküste Mallorcas im Gemeindegebiet von Capdepera.

    Die paradiesische Bucht besteht aus hellem Sandstrand und hat einige
    felsige Abschnitte zu bieten. Eingerahmt wird das Badeparadies von bewaldeten Hügeln. Durch die Lage unzerteilbar Naturschutzgebiet
    fehlt die Bebauung im hinterland. Im sommer wird es an der Cala
    Agulla schnell voll. Schuld daran trägt inter alia die gute Erreichbarkeit damit Auto.
    Die Bucht ist an der Straße von Capdepera nach Cala Ratjada ausgeschildert und ein großer Parkplatz liegt in unmittelbarer
    Strandnähe. Zugegen können Sie Surfboards, Tretboote und Wasserski ausleihen.

  24. Hey There. I found your blog using msn. This is a very well
    written article. I will make sure to bookmark it and return to
    read more of your useful info. Thanks for the post.
    I will certainly return.

  25. Great article, exactly what I was looking for.

  26. I’ll immediately grasp your rss feed as I can’t find your email subscription hyperlink or newsletter service.

    Do you’ve any? Kindly let me understand in order that I may just
    subscribe. Thanks.

  27. Hi just wanted to give you a quick heads up and let you know a few
    of the pictures aren’t loading properly. I’m not sure why but I think its a linking issue.
    I’ve tried it in two different internet browsers
    and both show the same results.

  28. rampe treppe表示:

    Bei 20 Prozent muss die Hilfsperson stark sein. Bei der Auswahl der passenden Steigung spielt also
    das individuelle Nutzungsverhalten eine Rolle.
    Wird die Rampe dagegen im öffentlichen Bereich genutzt, ist eine Steigung von maximal sechs Prozent zwingend erforderlich.
    Wer zahlt für die Rampe? Im Pflegefall können Betroffene von verschiedenen Einrichtungen finanzielle Unterstützung erhalten.
    Die finanzielle Unterstützung kann über einen Zuschuss, über eine vollständige Kostenübernahme oder über ein zinsgünstiges Darlehen erfolgen. Gemäß Ursache kommt ein bestimmter Leistungsträger
    in Frage. Das hängt von welcher konkreten Situation ab.
    Dann sind die Versicherungen erster Ansprechpartner.

    Handelt es sich um einen akuten Hilfsmittelbedarf auf Grund von Alters-
    oder Unfallfolgen? Dafür bietet wie die KfW Förderbank
    zinsgünstige Darlehen für barrierefreies Bauen. Der Staat
    unterstützt jedoch auch die Vorsorge. Denn ein Pflegefall haben wir nicht immer längerfristig abzusehen. Wer
    schon früh sein Wohnumfeld baulich anpasst, um auch fürs Alter vorzusorgen, wird deren neuen Situation bei Eintritt einer körperlichen Einschränkung nicht
    unvorbereitet überrascht.

  29. You actually make it seem so easy with your presentation but
    I find this topic to be really something that I think I would never understand.
    It seems too complicated and extremely broad for me. I am looking forward
    for your next post, I’ll try to get the hang of it!

  30. That is a really good tip especially to those fresh to
    the blogosphere. Simple but very precise information… Thank you for sharing
    this one. A must read article!

發佈留言

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