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,229,674 Responses

  1. Hey just wanted to give you a quick heads up. The words in your post seem to be running off the screen in Ie.
    I’m not sure if this is a formatting issue or something
    to do with web browser compatibility but I thought I’d post to let you know.
    The design and style look great though! Hope you get the
    issue fixed soon. Thanks

  2. Good day! This is kind of off topic but I need some help from an established blog.
    Is it difficult to set up your own blog? I’m not very techincal but I can figure things out pretty quick.
    I’m thinking about making my own but I’m not sure where to start.
    Do you have any ideas or suggestions? Thank you

  3. Nice blog here! Also your website loads up fast!
    What web host are you using? Can I get your affiliate link to your
    host? I wish my web site loaded up as quickly as yours lol

  4. Das alles gilt seit dem 4. Januar. Eigentlich hatten die Hersteller Zeit, sich darauf einzustellen. Da müssen im Vorfeld auch medizinische Studien laufen, weswegen insbesondere kleinere Hersteller
    den Aufwand sicherlich scheuen. Problem dabei ist aber:
    Entsprechende Untersuchungen zur Unbedenklichkeit benötigen Zeit und Geld.
    Tattoos gehen nach der jetzigen Verordnung eigentlich nur noch
    in Schwarz, Grau oder Weiß? Diese müssen registriert werden,
    die Unbedenklichkeit also nachgewiesen werden. Das sind im Wesentlichen die Farben, die als unbedenklich übriggeblieben sind, da hier keine entsprechenden Farbpigmente
    enthalten sind, denn häufig sind es ja gerade die Farbpigmente, die als problembehaftet gelten. Die Untersuchung und Registrierung neuer Farben wird
    sicherlich ein längerer Prozess. Ich denke aber, dass Hersteller ein hohes Interesse daran haben,
    das für die Farben nachzuholen, bzw. auch neue Farben zu entwickeln. Aus allergologischer Sicht würden Sie vermutlich Tattoos generell weniger
    empfehlen? Das kann man so pauschal nicht sagen. Tattoos sind nicht generell bedenklich,
    auch nicht aus allergologischer Sicht. Als Maxime gilt aber, dass die Unbedenklichkeit eben erwiesen sein muss.

  5. My developer is trying to convince me to
    move to .net from PHP. I have always disliked the idea because
    of the costs. But he’s tryiong none the less. I’ve been using Movable-type on a variety of websites for about a year and
    am concerned about switching to another platform.
    I have heard good things about blogengine.net. Is
    there a way I can transfer all my wordpress posts into it?
    Any kind of help would be really appreciated!

  6. Pretty great post. I simply stumbled upon your weblog and wanted to mention that I have truly enjoyed browsing your weblog posts.
    After all I will be subscribing on your rss feed and I hope you write again soon!

  7. Wenn du hier eine TUI-Reise mit Abreise bis 30.04.2021 buchst, erhältst
    du automatisch und kostenlos den Reiseschutz “Covid Protect” zu deiner Buchung dazu.
    Deswegen rate ich dir dazu, die aktuellen Nachrichten zu verfolgen und dich bei deinem Außenministerium über schlau realisierbar.
    Der Coronavirus hat die ganze Tourismusbranche auf den Kopf gestellt – neue Konzepte und Sicherheitsmaßnahmen mussten entwickelt werden um Reisen soweit möglich weiterhin zu ermöglichen. Prima!
    Was ich dir jetzt noch ans Herz lege: eine Reiseversicherung mit Coronaschutz.

    Buchst du deine Reisen stets online? Für andere Reiseveranstalter kannst du eine Reiseversicherung inklusive
    Corona Reiseschutz oder eine Reisestornoversicherung der Allianz Travel zubuchen – online im
    letzten Buchungsschritt oder in unseren Reisebüros.
    Auszufüllende Dokumente, Quarantänebestimmungen und Rückreise Bedingungen können verwirrend sein.Um dir durch
    diesen Informationsdschungel zu helfen, haben wir dir eine Übersicht der geltenden Reisebestimmungen der beliebtesten Urlaubsländer zusammengestellt,
    welche wir regelmäßig aktualisieren. Auch 2021 können sich
    Einreisebestimmungen laufend ändern. Die genauen Preise sind dabei abhängig von deiner Reise.
    Klar, Onlinebuchungen sind bequem von zuhause aus zu erledigen, doch der Kundenservice in Restplatzbörse
    Reisebüro Filialen ist unschlagbar. Erfahre hier mehr über die Vorteile,
    Unterschiede und Preise der Reiseversicherungen.

  8. Excellent weblog here! Also your website quite a
    bit up fast! What host are you the usage of? Can I get your associate
    link in your host? I desire my web site loaded up as fast
    as yours lol

  9. Kay表示:

    tenho passado as últimas semanas todas lendo seu site e
    achei muita coisa boa.

  10. discuss表示:

    Excellent blog here! Also your web site loads
    up fast! What web host are you using? Can I get your affiliate link to your host?
    I wish my website loaded up as quickly as yours lol

  11. I am sure this post has touched all the
    internet visitors, its really really good post on building up new webpage.

  12. Wow! After all I got a weblog from where I know how to
    in fact obtain useful information concerning
    my study and knowledge.

  13. Cala Ratjada ist ein lebhafter Urlaubsort an der Nordostküste
    Mallorcas. Er gehört zur Gemeinde Capdepera und erfreut sich
    besonders bei deutschen Urlaubern großer Beliebtheit. Hinter Cala Ratjada steigen pinienbewachsene Hügel an, die an einigen Stellen als Felsküste in das Meer abfallen. Der Badeort verfügt
    über einen wichtigen Hafen, der von einer Betonmauer vor der Brandung geschützt
    wird und im Südosten liegt. In den historischen Langustenhäusern östlich des Hafenbeckens werden Langusten lebendig
    in Meerwasserbecken gehalten, bis sich ein Käufer gefunden hat.
    Cala Ratjada wird dank der zahlreichen Strände bei des Ortes besonders häufig
    von Familien mit Kindern besucht. Der Küstenort Cala Ratjada wurde nicht am Reißbrett entworfen und ist aus historischer Sicht kein klassischer Touristenort,
    obwohl sich das Image in den zurückliegenden 40 Jahren gewandelt hat.
    Gegründet wurde der Ort im 17. Jahrhundert als kleine Fischersiedlung von den Einwohnern der Ortschaft
    Capdepera. In den fischreichen Küstengewässern stellten die Fischer vorrangig Rochen und
    Langusten nach.

  14. Maryann表示:

    This is very interesting, You are a very skilled blogger.
    I have joined your rss feed and look forward to seeking more of your fantastic post.
    Also, I have shared your web site in my social networks!

  15. Hi there, I would like to subscribe for this website to get most up-to-date updates,
    therefore where can i do it please help.

  16. Aw, this was an incredibly good post. Spending some time
    and actual effort to generate a good article… but what can I say… I hesitate a whole lot and never
    seem to get anything done.

  17. king表示:

    Excellent post. Keep posting such kind of information on your page.
    Im really impressed by it.
    Hey there, You have performed an incredible job. I will certainly digg
    it and in my opinion suggest to my friends.
    I am sure they’ll be benefited from this site.

  18. genius.com表示:

    It is in reality a nice and helpful piece of info. I’m glad that you just shared this useful info with us.
    Please stay us informed like this. Thank you for sharing.

  19. thermorollen表示:

    Einen Eigenbeleg schreiben Sie nun augenblicklich mit
    unserem Eigenbeleg-Generator. Kostenlos einen professionellen Eigenbeleg schreiben kann so einfach sein! Das
    Herunterladen ist absolut kostenfrei für Sie
    und der Eigenbeleg enthält keine Werbung! 1. Einstellungen wie
    z.B. Laden Sie den fertig erstellten Eigenbeleg als PDF-Eigenbeleg herunter und drucken Sie diesen dann einfach aus.
    So schreiben Sie Ihre Eigenbelege in nicht allzu ferner zukunft noch schneller.
    Dieser Eigenbeleggenerator funktioniert auch auf Tablets
    und Smartphones. Tipp: Speichern Sie die eingegebenen Daten fürt
    nächste Mal monadisch Cookie! Bitte beachten Sie, dass Sie die Eingabemaske ggf.
    seitlich scrollen müssen, um alle Inhalte verändern zu können. Passen Sie die nachfolgenden Felder
    in unserem Muster-Eigenbeleg an, klicken Sie den Button „PDF- Eigenbeleg jetzt downloaden” und schon ist Ihr
    Eigenbeleg erstellt. Unser Eigenbeleg-Generator speichert die deren eingegebenen Daten niemals auf unserem Server, so ist der Datenschutz
    zu jeder Zeit gewährleistet. Lesen Sie dann mehr über das Thema „ Eigenbeleg schreiben”.
    Dezimaltrennzeichen Hinweis: die Tausender- und Dezimaltrennzeichen wirken sich nur
    auf den PDF-Beleg aus. Daten im Eigenbeleg speichern? Noch mehr Dokumente schreiben? Sie die
    eingegebenen Daten kostenlos unzertrennlich Cookie speichern! Zusätzlich können Sie Ihre Kunden verwalten und Zahlungseingänge nachhalten.
    Testen Sie FirstBill, um professionelle Dokumente mit Logo zu schreiben. Ist die Ausgabe tatsächlich beruflich
    bzw. betrieblich bedingt und erscheint die Höhe glaubhaft,
    wird der Eigenbeleg zusammenfassend vom Finanzamt anerkannt.
    Nicht ausbleiben keine vorgeschriebene Form des Eigenbeleges, er kann gegebenenfalls auch handschriftlich erstellt werden. Ein Eigenbeleg
    dient als Ersatz für eine nicht ausgestellte oder verloren gegangene Quittung oder Rechnung.
    Massenhaft komfortabler und übersichtlicher ist aber in jedem Falle das Ausfüllen anhand des Eigenbeleg-Generators.
    Grund für das Ausstellen des Eigenbeleges (z.B.
    Der Vorsteuerabzug ist bei einem Eigenbeleg grundsätzlich nach den Gesetzen der Logik unmöglich.
    Wir sind stetig bemüht, Ihnen das Schreiben Ihrer Belege mit unserem Eigenbelegsgenerator noch einfacher denkbar.
    Gemäß § 15 UStG ist hierfür eine ordentliche Rechnung notwendig.
    Bitte sagen Sie uns Ihre Meinung!

  20. Appreciate this post. Will try it out.

  21. anotepad.com表示:

    It is not my first time to go to see this website, i am visiting this web site dailly and obtain good data from here daily.

  22. Hello there, I believe your website could be
    having internet browser compatibility problems. When I look at
    your web site in Safari, it looks fine however, when opening in IE, it has some overlapping issues.

    I merely wanted to provide you with a quick
    heads up! Besides that, great blog!

  23. Just want to say your article is as surprising. The clearness in your post is simply spectacular and i could assume you’re an expert on this subject.
    Fine with your permission let me to grab your feed to keep up to date with forthcoming post.
    Thanks a million and please keep up the gratifying work.

  24. Umsonst: „Was es gebracht hat, sieht man ja”, sagt Thomas Tanriverdi und schnaubt. Er hält eine Plastiktüte mit Farbfläschchen hoch, die er jetzt entsorgen muss. Kein wirtschaftlicher Beinbruch, aber doch extrem ärgerlich: „Wer wirft schon gerne Geld weg”, sagt er.
    „500 bis 1000 Euro Wert”, schätzt er. Rund 30 bis 40 Prozent seiner Kunden hätten sich bisher farbige Tattoos stechen lassen. Genug zu tun habe er dennoch. Die würden nun natürlich erst einmal wegbleiben. Und ändern könne er ja doch nichts daran. Auch nicht inoffiziell oder als Freundschaftsdienst. „Das würde sich in Windeseile herumsprechen und man würde mir den Laden zumachen”, sagt er.

    Und das wolle er natürlich nicht riskieren. Gegen die Richtlinie verstoßen kommt für ihn auch auf keinen Fall
    nicht infrage. Er will auch noch nicht zu pessimistisch in die Zukunft schauen, sondern geht fest davon aus, dass neue Farben zügig auf den Markt kommen werden. „Natürlich weiß man noch
    nicht genau wann”, sagt er. Aber die Farben seien auf jeden Fall in Produktion. So lange werde er eben in Schwarz-Weiß und Grautönen weiter tätowieren. Ausgefallene Körperstellen etwa der Kehlkopf würden im Münsterland kaum gefragt. Er geht davon aus, dass das vorläufig noch kein ernstes Problem gibt: Seine Kunden aus Ahaus und einem etwa 100 Kilometer großen Umkreis seien insgesamt etwas „ruhiger” als
    beispielsweise Kunden von Tattoostudios im Ruhrgebiet.
    „Vieles bewegt sich im Rahmen von kleinen Symbolen, Unendlichkeits-Schleifen, Namen oder Blumen”, sagt Thomas Tanriverdi.
    Auch große Motive seien hier eher selten. Zum Problem der Farben angesprochen, möchte er
    unserer Redaktion allerdings nicht antworten. Rene Brandt, genannt Bottel, betreibt seit 2001 sein Tattoo-Studio an der Lüderitzstraße.
    Dafür sei er der falsche Ansprechpartner, erklärt er am Telefon lediglich.

  25. Way cool! Some extremely valid points! I appreciate you writing this
    article and also the rest of the website is also
    really good.

  26. Howdy! I know this is somewhat off topic but I was wondering
    if you knew where I could locate a captcha plugin for my comment form?
    I’m using the same blog platform as yours and I’m having
    trouble finding one? Thanks a lot!

  27. I’d like to find out more? I’d love to find out more details.

  28. Greetings I am so thrilled I found your site,
    I really found you by accident, while I was browsing on Digg for something else, Anyhow I am here now and would just like to say
    thanks for a tremendous post and a all round enjoyable blog (I also love the theme/design), I don’t have time to read it
    all at the moment but I have saved it and also included your RSS feeds,
    so when I have time I will be back to read much more, Please
    do keep up the great work.

  29. Die Handschlaufe kann mit einer Hand einfach
    vom Stock gelöst werden. Um den Klettverschluss zu öffnen, zieht man an einer Plastik-Lasche – vermutlich wird diese im Lauf vieler Jahre abreißen, wenn man zu oft und
    mehr als nötig daran gezogen hat. Man drückt nur die rote Kappe hierbei Daumen hinunter,
    und schon kann die Schlaufe herausgezogen werden. Die Pads lassen sich,
    wenn man sie fest aufgedrückt hat, nur mit Anstrengung
    wieder entfernen. Beim Nordic walking hat man damit Stock Freude:
    Er schwingt gut und ist auch nach dem Öffnen der Hand schnell
    wieder griffbereit. Das schützt zwar vor Verlust,
    braucht aber etwas Kraft. Der Pacemaker von Leki ist ein empfehlenswerter Nordic-Walking-Stock aus
    Carbon. Der Stock kann sowohl von Anfängern als auch von geübten Nordic Walkern eingesetzt werden. Das Design ist sportlich und genau das ist er auch in der Anwendung.
    Der Korkgriff liegt gut mit gezücktem, die Handschlaufe lässt sich gut hiermit Klettverschluss befestigen.

  30. I constantly spent my half an hour to read this weblog’s posts
    daily along with a mug of coffee.

發佈留言

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