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,228,669 Responses

  1. You ought to take part in a contest for one of the highest quality blogs on the internet.
    I will recommend this site!

  2. Woah! I’m really enjoying the template/theme of this website.
    It’s simple, yet effective. A lot of times it’s tough to get that “perfect balance” between usability and
    appearance. I must say you have done a fantastic job with this.
    Also, the blog loads very quick for me on Firefox.

    Outstanding Blog!

  3. I’m gone to say to my little brother, that he should also visit this web site on regular basis
    to obtain updated from newest information.

  4. Sweet blog! I found it while surfing around on Yahoo News.
    Do you have any tips on how to get listed in Yahoo News?

    I’ve been trying for a while but I never seem to get there!
    Thank you

  5. In der letzten Zeit Jahren hat sich Nordic walking von einer Randerscheinung zum Breitensport entwickelt, der zunehmend begeisterte Anhänger
    findet. Die Vorteile liegen auf der Hand: Dank der Unterstützung der Stöcke laufen Sie
    monadisch gleichbleibenden Rhythmus und bewegen neben den Beinen, den gesamten Körper und die Arme.
    Zudem erfahren Gelenke und Muskulatur eine weitere Stützfunktion,
    was die Belastung herabsetzt. Nicht immer entscheidet der Preis über die Qualität.
    Um mehr ist nicht zu holen aus den nächsten Nordic walking Runden herauszuholen, sollten Sie sich vorher unterschiedliche Nordic Walking Stöcke anschauen, um sich für das passende Modell zu entscheiden. Oftmals sind es auch die Stöcke im unteren und mittleren Preisniveau, die mit Top Leistungen aufwarten. Es gibt überhaupt keinen Grund, über die
    Nordic Walker zu lächeln. Was bringen Nordic Walking Stöcke?
    Dieser Breitensport ist eine aktive Methode, den Stoffwechsel anzuregen, das Herz
    zu stärken und gezielt Knochen und Muskulatur zu trainieren. Erwiesenermaßen ist Walking eine schonende
    Methode, den überflüssigen Fettpolstern an den Kragen zu gehen.

  6. Very nice post. I just stumbled upon your weblog and wished to
    say that I have really enjoyed browsing your blog posts.
    After all I’ll be subscribing to your feed and I hope you write again soon!

  7. www.fcc.gov表示:

    Hi there, I found your website via Google even as
    looking for a similar subject, your web site got here up, it
    appears to be like great. I’ve bookmarked it in my google bookmarks.

    Hi there, just turned into alert to your weblog through Google, and located that it’s truly informative.
    I’m gonna be careful for brussels. I’ll be grateful if you
    proceed this in future. Many folks will probably be benefited from your writing.
    Cheers!

  8. Die Verbindung, welche die Haut mit der Tatowierung eingeht, besteht
    nicht nur auf der Oberflache des Korpers, sondern geht
    viel tiefer in diesen hinein. Die Haut spielt eine bedeutende Rolle und ist daher aus einer anderen Perspektive zu betrachten, als nur die eines
    bloBen Tragers der Tatowierung und einer Hulle des Korpers.
    In diesem Kapitel untersuche ich die gegenwartige westliche Hautvorstellung, die
    Wahrnehmung des Korperbildes und die Bedeutung der Haut fur die
    Tatowierung. Das vorherrschende kollektive Korperbild in Europa hat sich seit der cartesianischen Spaltung in Leib und
    Seele, Geist und Korper nur wenig gewandelt. Die
    Biologie des materiellen Korpers gilt als gegeben und unwandelbar.
    Dieses leibesphilosophische Denken, welches der Kultur den Geist und der Natur den Korper
    zuschreibt, begreift sich selbst als auBerhalb der Geschichte stehend.
    Sie markiert als Grenze das Innen und AuBen. Die Haut ist eng verknupft mit der Leibeswahrnehmung.

    Zwar wandelte sich die Leibeswahrnehmung im 18. Jahrhundert mit den Anfangen der Anatomie, denn das geheimnisvolle Dahinterliegende wurde sichtbar gemacht.
    Doch dem kollektiven Korperbild entsprechend, dient die Haut noch immer zur Begrenzung des Korpers (Benthien,
    1999, S. 15­17). Dieses Korperbild wurde durch das subjektbezogene Denken besonders gefordert, welches das menschliche Zentrum im Inneren des Korpers sieht (Benthien, 1999, S.11-12).

  9. peatix.com表示:

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

  10. bsdmag.org表示:

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

  11. nordicwalking表示:

    Sport ist eine Sportart, die bei Erwachsenen in allen Altersgruppen sehr beliebt ist.
    Nordicwalking ist einfach zu erlernen. Sie eignet sich auch für Menschen, die nach längerer
    Zeit in ein Training einsteigen möchten und oder nach einer Erkrankung ihre Fitness wiedererlangen möchten. Sie benötigen keine speziellen Voraussetzungen oder Spezialkleidung und können das Zubehör einfach und
    schnell bei Sportco bestellen. Das wichtigste Sportgerät für das Sportart sind die Nordic-Walking-Stöcke.
    Gut beraten sein wählen Sie ein stufenlos einstellbares
    Modell. Für den guten Halt sorgen Nordic-Walking-Handschuhe.
    Diese sind besonders für lange Touren wichtig. Achten Sie auf Ideal
    Nordic-Walking-Stocklänge; diese ist für die gesunde Ausübung der Sportart sehr wichtig.
    Wenn Sie Handschuhe tragen, können Sie die Nordic-Walking-Stöcke besser halten. Für verschiedene Untergründe benötigen Sie spezielle Sport
    Pads, die Sie an den Nordic-Walking-Stöcken einfach wechseln können. Schrittzähler helfen Ihnen, den Überblick über Ihre Leistung zu behalten. Für die Sicherheit
    schleierhaft sorgen Reflektoren und Blinklichter. Das richtige Pad gibt
    Ihnen ausreichend Grip für die Ausübung des Sports.

    Ein Elastikband zur Anbringung an einem Nordic-Walking-Stock ermöglicht ein zusätzliches Kraft-Widerstands-Training u.
    a. für die Arme.

  12. ask.fm表示:

    Today, while I was at work, my cousin stole my iPad and tested to see if it can survive a
    thirty foot drop, just so she can be a youtube sensation.
    My iPad is now broken and she has 83 views. I know this is totally
    off topic but I had to share it with someone!

  13. zghncy.cn表示:

    Ridiculous story there. What happened after?
    Take care!

  14. Attractive section of content. I just stumbled upon your weblog and in accession capital to assert that I acquire in fact enjoyed account your blog posts.

    Anyway I’ll be subscribing to your feeds and even I achievement you access consistently fast.

  15. I do not know whether it’s just me or if everyone else experiencing
    issues with your site. It looks like some of the text within your content are running off the screen. Can someone
    else please comment and let me know if this is happening to them as well?
    This may be a issue with my internet browser because
    I’ve had this happen previously. Thanks

  16. skifahren表示:

    In Italien werden die Einschränkungen Stückweise zurückgenommen. Einen Spanien-Urlaub an der
    Zeit sein für den Frühsommer bislang nicht buchen. Buffets
    in Hotels sind verboten. Buchungen für den Zugang zu Strandbädern sollen verhindern, dass die Menschen zu dicht aneinander sonnenbeschienen braten.
    Mallorca und die anderen Urlaubsinseln können aber darauf hoffen, vielleicht doch etwas früher eine beschränkte Zahl von in- und ausländischen Besuchern empfangen zu dürfen. Desinfektionsmittel müssen überall bereit stehen. Es gebe eine Arbeitsgruppe, die
    über ein solches Pilotprojekt spreche, hierbei
    man erste Erfahrungen sammeln wolle, bestätigte Verkehrsminister
    José Luis Ábalos. Die Regierung in Madrid bekräftigte, dass
    man frühestens ab Ende Juni mit einer weitgehenden Grenzöffnung
    für Touristen rechnen könne. Selbst den Spaniern werde es bis dahin verboten bleiben,
    in andere Regionen des Landes zu reisen. Die Inseln setzen sich lange schon für die Errichtung
    eines “sicheren Tourismuskorridors”. Die Menschen, die
    trotz geschlossener Grenzen einreisen dürfen, weil sie in Spanien eine Erstwohnung haben oder eine Arbeitsstelle
    antreten, müssen zwei Wochen ohne.

  17. discuss表示:

    Hi there, all the time i used to check webpage posts here in the early hours in the daylight,
    for the reason that i love to find out more and more.

  18. Margareta表示:

    My brother recommended I may like this web site.
    He was once totally right. This post actually made my
    day. You can not believe simply how so much time I had spent for this
    info! Thanks!

  19. This is very fascinating, You are a very skilled blogger.
    I’ve joined your feed and look ahead to in the hunt for more of your
    fantastic post. Also, I have shared your site in my social networks

  20. discuss表示:

    Hey very nice blog!

  21. satta king表示:

    hello there and thank you for your info – I have certainly
    picked up anything new from right here. I did however expertise several technical points using this website, as I experienced to reload the website many times previous to I could
    get it to load correctly. I had been wondering if your web host is OK?

    Not that I am complaining, but slow loading instances times will often affect
    your placement in google and can damage your high-quality score
    if ads and marketing with Adwords. Anyway
    I’m adding this RSS to my email and could look out for a lot more
    of your respective fascinating content. Ensure that you update this again very soon.

  22. Hello, Neat post. There’s an issue along with your web site in web explorer, might test this?
    IE still is the marketplace leader and a big component of other people will omit your magnificent writing because of this problem.

  23. Attractive section of content. I just stumbled upon your site and in accession capital to assert that I get in fact enjoyed account your blog posts.
    Anyway I’ll be subscribing to your feeds and even I achievement you access consistently fast.

  24. cutt.ly表示:

    If you wish for to get much from this piece of writing then you have to apply these methods to your won webpage.

  25. Fantastic beat ! I wish to apprentice at the same time as you amend your web site, how could
    i subscribe for a weblog website? The account aided
    me a appropriate deal. I have been a little bit familiar of this your broadcast offered vibrant clear idea

  26. anotepad.com表示:

    What’s up mates, pleasant post and fastidious arguments commented
    at this place, I am really enjoying by these.

  27. thinfi.com表示:

    Appreciation to my father who told me concerning this website, this
    webpage is genuinely remarkable.

  28. cutt.us表示:

    Great weblog here! Also your website loads up very fast!

    What web host are you using? Can I am getting your associate link for your host?
    I wish my site loaded up as quickly as yours lol

  29. Ofelia表示:

    Thank you for sharing your info. I really appreciate your efforts and
    I will be waiting for your next write ups thank you once again.

發佈留言

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