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...

870,844 Responses

  1. It’s a pity you don’t have a donate button! I’d definitely
    donate to this brilliant blog! I suppose for now i’ll settle for book-marking and adding
    your RSS feed to my Google account. I look forward to fresh updates and will talk about this
    blog with my Facebook group. Chat soon!

  2. I have been exploring for a little for any high-quality
    articles or blog posts in this sort of space .
    Exploring in Yahoo I at last stumbled upon this site. Studying this info So i’m happy
    to exhibit that I’ve a very just right uncanny feeling I discovered just
    what I needed. I most no doubt will make certain to
    do not fail to remember this site and provides it a look regularly.

  3. Ahaa, its nice dialogue about this article at this place at this blog, I have read
    all that, so at this time me also commenting
    at this place.

  4. thermorollen表示:

    Sind solche Belege nicht mehr da sein oder gehen sie verloren, kann als Ersatz ein Eigenbeleg erstellt werden. Zumeist werden Eigenbelege vom Unternehmer selbst oder
    von leitenden Angestellten ausgestellt, die hierzu bevollmächtigt
    sind. Eigenbelege dienen vorm Finanzamt als Ersatz für Rechnungen oder Quittungen. Hierbei gilt jedoch grundsätzlich jeden Beleg aufzubewahren und zeitnah einen Eigenbeleg zu
    erstellen. Sie dokumentieren tatsächlich stattgefundene Geschäftsvorgänge und machen diese bei Prüfungen durch die Finanzbehörden, Wirtschaftsprüfer
    oder die Rechnungsprüfung als Einnahme oder Ausgabe kenntlich.
    Befasst sein, wenn Belege fehlen? Das Fehlen von Originalbelegen kann verschiedene Ursachen haben. Der Zahlungsempfänger kann vergessen haben, einen Beleg auszustellen, oder hat für
    den Empfang von Trinkgeld keine Quittung ausgestellt.
    Ist keine dritte Person oder kein drittes Unternehmen an der Transaktion beteiligt, wird nicht immer ein Beleg ausgestellt; unter diesen Umständen muss ein Eigenbeleg
    angefertigt werden, um den Geschäftsvorgang zu dokumentieren. Für außerplanmäßige
    Abschreibungen wie Verderb, Lagerabbau oder Diebstahl ist die Erstellung eines Eigenbelegs
    notwendig. Originalbelege können vom Winde verweht oder vernichtet worden sein. Schließlich
    hinterlässt kein Dieb eine Quittung. Für die Abrechnung
    von Reisekosten oder Verpflegungsmehraufwendungen (sprich:
    Spesen) für einen Unternehmer oder Angestellten liegt nicht immer ein Beleg vor.

  5. Way cool! Some very valid points! I appreciate you writing this post and the
    rest of the site is very good.

    Feel free to visit my webpage :: песни под гитару с аккордами

  6. Thank you for sharing your thoughts. I really appreciate your efforts and I will be waiting for your further post thank you
    once again.

  7. Hello, i read your blog occasionally and i
    own a similar one and i was just curious if you get a lot of spam responses?
    If so how do you stop it, any plugin or anything you can suggest?

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

  8. really interesting review. Furthermore visit this specific site that could be enjoyed slot pulsa online.
    This website has received likability received from game slot gambling house opposition in Negara sendiri.
    Now there will be many appealing promos if perhaps join at this moment.

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

    I will immediately grab your rss feed as I can’t find your e-mail
    subscription hyperlink or e-newsletter service.

    Do you’ve any? Please allow me understand so that I may just subscribe.
    Thanks.

  10. Fenster für Wohnmobil, Bus oder Caravan gibt es in den unterschiedlichsten Ausführungen. Dabei unterscheiden sich die verschiedenen Modelle grundsätzlich zum Thema Größe, Form (z.B.
    Öffnungsmechanismus (z.B. Schiebe- oder Ausstellfunktion) und
    den zusätzlichen Extras (z.B. Damit du bei der großen Vielfalt
    nicht den Überblick verlierst und das passende Modell findest, erklären wir
    dir nachfolgend die Unterschiede zwischen den verschieden Fahrzeugfenstern. Ausstellfenster sind
    die am häufigsten in Wohnmobil und Wohnwagen verbauten Fenster.
    Sie eignen sich hervorragend für fast jeden Fahrzeugtyp.
    Es ist verschiedene Systeme wie sich die Scheiben aufstellen oder
    fixieren lassen. Klick-Klack-Aussteller rasten auf der gewünschten Höhe ein und lassen sich durch leichtes Anheben der Scheibe aus der Ausstellposition lösen. Schiebefenster ragen nicht über die Karosserie hinaus und werden beispielsweise im Laufweg
    einer Tür eingebaut. Aussteller mit Feststellrädchen sicherstellen eine stufenlose
    Öffnung. Sie können während der Fahrt geöffnet bleiben und sorgen auch Unterwegs für eine
    gute Belüftung. Ältere Schiebefenster mussten aufgrund seitlicher
    Regen-Abläufe in Fahrtrichtung rechts oder links eingebaut werden. Auf der „falschen Seite” eingebaut, suchte sich während der Fahrt Regen oder Spritzwasser den Weg ins Fahrzeuginnere.Die aktuellen Baureihen lassen sich flexibel rechts wie links zur Fahrtrichtung einbauen und bleiben dicht in alle Richtungen.

  11. Thank you for sharing your thoughts. I really appreciate your efforts and I will be waiting for your next post thanks once
    again.

  12. This site was… how do you say it? Relevant!!
    Finally I have found something that helped me. Cheers!

  13. Do you have a spam problem on this blog; I also am a blogger, and I was wondering
    your situation; many of us have created some nice practices and
    we are looking to trade strategies with other folks, be sure to shoot me an e-mail if interested.

  14. I’m gone to tell my little brother, that he should also visit this weblog on regular basis to get updated from
    most up-to-date reports.

  15. I have read a few just right stuff here. Certainly price bookmarking for
    revisiting. I wonder how a lot effort you place to make the sort of fantastic
    informative site.

  16. page表示:

    I savour, result in I found just what I used to be taking
    a look for. You’ve ended my four day lengthy hunt!

    God Bless you man. Have a great day. Bye

  17. Greetings from Idaho! I’m bored at work so I decided to check out
    your website on my iphone during lunch break. I love the
    info you present here and can’t wait to take a look when I get home.
    I’m amazed at how quick your blog loaded on my cell phone ..

    I’m not even using WIFI, just 3G .. Anyways,
    very good blog!

  18. Attractive component to content. I just stumbled upon your site and in accession capital to assert that I
    acquire in fact enjoyed account your weblog posts.

    Anyway I will be subscribing on your augment or even I success you get admission to consistently rapidly.

  19. Oh my goodness! Incredible article dude! Thank you so much, However I am encountering troubles with your RSS.
    I don’t know the reason why I am unable to join it. Is there anyone else
    having identical RSS problems? Anybody who knows the solution can you kindly respond?
    Thanks!!

  20. House Fast表示:

    Greetings from Florida! I’m bored to death at work so I decided
    to browse your website on my iphone during lunch break. I really like
    the information you provide here and can’t wait to take a look when I get home.
    I’m shocked at how fast your blog loaded on my mobile ..
    I’m not even using WIFI, just 3G .. Anyways, very good site!

    my page House Fast

  21. data hk表示:

    Thank you for the good writeup. It in fact was a amusement account it.
    Look advanced to far added agreeable from you!
    By the way, how can we communicate?

  22. Way cool! Some very valid points! I appreciate you penning this write-up and the rest of the site is also
    really good.

  23. Und welche technischen Unterschiede macht das? Kostencheck-Experte: Pauschal lassen sich Kostenunterschiede zwischen beiden Verglasungsarten nur schwer festlegen, weil sich die Fenster meist auch noch in anderen Ausführungsmerkmalen unterscheiden. Technisch
    darf man den Unterschied nicht nur in der
    zusätzlichen Glasscheibe sehen – oft sind auch die
    Konstruktionsmerkmale von Fenstern mit 3fach Verglasung deutlich hochwertiger.
    Frage: Lohnt sich Dreifach-Verglasung überhaupt finanziell?

    Bei identisch ausgeführten Fenstern liegt der Preisunterschied aber meist im bereich von 15 %
    – 20 %. Um diesen Prozentsatz sind moderne 3fach verglaste Fenster meist
    teurer. Wenn’s um einen Neubau geht und man nun gar auf die Fensterkosten schaut, ist es gut beraten sein sich nach dem U-Wert des Fensters zu richten. Fenster mit gleichen U-Werten sparen auch gleich viel Heizenergie
    ein – ob es sich dabei um Zweifach- oder Dreifach-Verglasung handelt, ist unerheblich.

    Kostencheck-Experte: Das kommt immer darauf an, womit man vergleicht.
    Allerdings ist es wichtig, dabei auf den Gesamt-U-Wert des Fensters
    zu achten – angegeben wird häufig nur der U-Wert der Verglasung (Ug).
    Dreifach verglaste Fenster lohnen sich a fortiori dann, wenn man sie mit einem
    Fenster mit sehr hohen U-Werten vergleicht (etwa inmitten von 2,0 oder darüber).

  24. www.fcc.gov表示:

    Informative article, just what I wanted to find.

  25. Greetings! I know this is kinda off topic but I was wondering which blog
    platform are you using for this site? I’m getting tired of WordPress because I’ve had issues with
    hackers and I’m looking at options for another platform.
    I would be great if you could point me in the direction of
    a good platform.

  26. great points altogether, you just gained a new
    reader. What would you recommend about your submit that
    you simply made some days ago? Any certain?

  27. Hey there just wanted to give you a quick heads up. The words in your content seem to
    be running off the screen in Ie. I’m not sure if
    this is a format issue or something to do with internet browser compatibility but
    I thought I’d post to let you know. The layout look great though!
    Hope you get the issue solved soon. Many thanks

  28. Hi there just wanted to give you a quick heads up.
    The text in your post seem to be running off the screen in Chrome.
    I’m not sure if this is a format issue or something to do
    with browser compatibility but I figured I’d post to let you know.
    The layout look great though! Hope you get the problem resolved soon. Many thanks

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

  30. I like what you guys are up too. This kind of clever work and reporting!

    Keep up the very good works guys I’ve incorporated you guys
    to my own blogroll.

發佈留言

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