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

909,223 Responses

  1. It’s an remarkable post for all the web people; they will
    obtain benefit from it I am sure.

  2. Pretty! This was an extremely wonderful post. Many thanks for providing this information.

  3. Hi Dear, are you in fact visiting this web site daily, if so after that you will definitely take fastidious knowledge.

  4. Excellent post. Keep posting such kind of information on your page.

    Im really impressed by your site.
    Hello there, You have done an incredible job. I will certainly digg it and in my opinion suggest to my friends.
    I am confident they’ll be benefited from this site.

  5. I am really enjoying the theme/design of your web site.
    Do you ever run into any web browser compatibility
    problems? A few of my blog visitors have complained about my site
    not operating correctly in Explorer but looks great in Safari.
    Do you have any advice to help fix this issue?

  6. firsturl.de表示:

    First off I want to say excellent blog! I had a quick question that I’d like to
    ask if you don’t mind. I was curious to know how you center
    yourself and clear your thoughts before writing. I’ve had a tough
    time clearing my thoughts in getting my thoughts out there.
    I do enjoy writing however it just seems like the first
    10 to 15 minutes are usually lost just trying to figure out how to begin. Any suggestions or tips?
    Appreciate it!

  7. Für viele Menschen, die mit körperlichen Beeinträchtigungen im Rollstuhl sitzen, ist der Wunsch
    nach Mobilität besonders groß. Unabhängig sein, alleine hierbei
    Auto im Rollstuhl von A nach B fahren können – das ist für viele Menschen mit
    Behinderung nur eine Traum. Auf die Frage: “Kann ich trotz Behinderung Am steuer sein?”, sagt PARAVAN:
    “Jawohl, Du kannst! Mit einem umgebauten Auto für Rollstuhlfahrer”.
    Doch Behindertenfahrzeuge von PARAVAN machen diesen Traum wahr.

    Wir rüsten Deinen Wagen so individuell um, dass er Dir
    und Deiner Behinderung passt wie ein maßgeschneidertes Kleidungsstück.
    Egal welches Fabrikat. Vom Kleinwagen über den Volkswagen Caddy,
    den Mercedes Vito bis zum Roadster, Jeep oder Reisemobil.

    Mit ausgefeilter Technik und Elektronik schaffen wir individuell behindertengerechte Fahrzeugumbauten mit Rollstuhlrampe oder Lift.
    Erfahre mehr über unsere Behindertenfahrzeuge für Rollstuhlfahrer von PARAVAN.
    Was es nicht gibt, erfinden wir für Dich. Wir rüsten Dein Behindertenfahrzeug so individuell um, dass er Dir passt wie ein maßgeschneidertes Kleidungsstück.

  8. obviously like your website but you have to take a look at the spelling on several of your posts.
    Several of them are rife with spelling problems and I to find it very bothersome to inform the reality on the other hand
    I will surely come back again.

  9. Awesome issues here. I am very happy to see your article.
    Thank you a lot and I am having a look ahead to
    contact you. Will you please drop me a mail?

  10. It’s amazing for me to have a web page, which is beneficial designed for my experience.
    thanks admin

  11. What’s up everyone, it’s my first pay a quick visit at this website,
    and article is truly fruitful in favor of me, keep up posting these articles.

  12. Hey! I realize this is somewhat off-topic however
    I needed to ask. Does operating a well-established website like yours require a massive
    amount work? I’m completely new to blogging however I
    do write in my diary daily. I’d like to start a blog so I can share my personal
    experience and feelings online. Please let me know if you have any suggestions or tips for brand new aspiring blog owners.
    Appreciate it!

  13. I like the valuable information you provide in your articles.

    I will bookmark your weblog and check again here regularly.
    I am quite certain I’ll learn many new stuff right here!
    Best of luck for the next!

  14. Mit diesem Tool können Ideen für Keywords und Anzeigegruppen generiert
    werden und es lässt sich die voraussichtliche Leistung von bestimmten Keywords prüfen. Ferner lassen sich die
    durchschnittlichen Kosten pro Klick (CPC) und die durchschnittlichen Suchanfragen pro Monat ermitteln. Um den Umsatz aus Google AdWords zu erhöhen und
    die Kampagnen-Kosten zu senken, muss eine Kampagne regelmäßig überwacht und optimiert werden.
    Profil) sowie eine für jede Suchanfrage ausgerichtete Zielseite, sind
    für den Erfolg von AdWords Kampagnen ausschlaggebend. Fast
    niemand öffnet Google und gibt spontan einen Suchbegriff ein,
    nur um dann zu schauen, welche Ergebnisse über den Bildschirm flimmern. Gesucht
    werden Treffer, die Informationen liefern oder zur Problemlösung beitragen. Je näher das Suchergebnis die gewünschte Fragestellung aufgreift, desto größer ist die Chance, dass der Treffer angeklickt wird.

    Jede Suchanfrage hat einen Grund und bringt eine gewisse Erwartung mit sich.
    CTR in %). Die bereits existierenden Ergebnisse sorgen hier für interessante
    Einsichten darüber, was in den Snippets gut funktionieren kann.
    Welche Titelformulierungen oder Wendungen im Text
    verleiten den User eher zum Klicken?

  15. I must thank you for the efforts you’ve put in penning this website.
    I’m hoping to see the same high-grade content from you in the future as well.
    In truth, your creative writing abilities has motivated me to get my very
    own site now 😉

  16. I really like your blog.. very nice colors &
    theme. Did you design this website yourself or did you
    hire someone to do it for you? Plz respond as I’m looking to design my
    own blog and would like to know where u got this from.
    thanks a lot

  17. Howdy, I do think your blog may be having browser compatibility issues.
    Whenever I look at your web site in Safari, it looks fine however when opening in Internet Explorer,
    it’s got some overlapping issues. I just wanted to give you a quick heads up!
    Besides that, wonderful website!

  18. Informative article, exactly what I wanted to find.

  19. Wonderful items from you, man. I have have in mind your stuff prior to and you’re just extremely
    great. I really like what you’ve bought right here, really like
    what you’re stating and the way in which in which you say it.
    You are making it entertaining and you continue to take care
    of to keep it wise. I can’t wait to read much more from you.
    That is really a wonderful web site.

  20. Hi there it’s me, I am also visiting this web page on a regular basis, this web site is genuinely good and the people are in fact sharing good thoughts.

  21. Good post. I learn something totally new and challenging
    on websites I stumbleupon on a daily basis. It’s always helpful to read through content
    from other writers and use something from other web sites.

  22. I all the time emailed this web site post page to all my friends,
    for the reason that if like to read it afterward
    my links will too.

  23. Er zweifelte, ob etwa die Stromsparziele von -20% bis 2020
    überhaupt eingehalten werden können, und warnt vor sozialen Verwerfungen, falls Energie wucherisch werde:
    “Wenn wir dösen, dann kann die Energiewende zu dem sozialen Problem werden.” Im
    September sollen deshalb Vertreter der Sozialverbände, der
    Verbraucherschützer und der Politik zu einem runden Tisch eingeladen werden. Doch die haben sich
    bereits zu Wort gemeldet. A fortiori geht es darum, wie viel gedämmt werden soll und wer
    die Kosten dafür übernimmt. Dabei ist gerade die Dämmung nicht nur energie- und klimapolitisch sehr wirksam, sondern auch wirtschaftlich ein Mittel, um steigende Energiekosten zu senken. Naturschutzverbände und der Mieterbund fordern eine sozial
    gerechte Kostenverteilung. Der Bund für Umwelt und Naturschutz Deutschland (BUND) schlägt deshalb vor, das große Sanierungspotential im Gebäudebestand auszuschöpfen, um
    Energiekosten und CO2-Emissionen zu senken. Dies soll aber “warmmietneutral” über ein Drittel-Modell
    erfolgen. Dabei übernehmen Hauseigentümer, Mieter und staatliche Förderprogramme jeweils ein Drittel der Kosten.

  24. Wow, this post is fastidious, my sister is analyzing these things, thus I am going to inform her.

  25. Mit den Stöcken bringt Attrac noch eine App heraus, die einen genauen Überblick
    über die Laufgewohnheiten und die zurückgelegte Strecke gibt.

    Der Versandt der Stöcke erfolgt über den Hersteller. Optisch sehr hochwertig sind die Stöcke
    von Alpidex. Diese sind aus 100 % hochmodularem Carbon und Kork für den Handgriff.
    Im Paket kommen, neben den Walking Stöcken noch einige verschiedene Aufsätze
    für die Bodenspitzen. Der Versandt wird durch den Hersteller direkt geregelt.
    Mit einem Gewicht von 138g sind die leichten Stöcke
    einfach zu händeln und auch für Anfänger geeignet.
    Die aus Aluminium bestehenden Wanderstöcke von Glymnis
    sind höhenverstellbar mit einer Maßvariablen von 36-130cm.
    Zu den Nordic Walking Stöcke liefert der Hersteller
    noch weitere Aufsätze für die Bodenspitzen und eine Packhülle.
    Die robusten Modelle sind bei den Kunden sehr beliebt und konnten daher den fünften Platz bei
    den Amazon Bestsellern ergattern. Die verschiedenen Tests und Vergleiche haben natürlich unterschiedliche Maßstäbe bei den Bewertungen, jedoch sind die maßgeblichen Werte für die Qualität der Nordic
    Walking Stöcke bei allen Tests und Vergleichen gleich.

  26. Write more, thats all I have to say. Literally, it seems as
    though you relied on the video to make your point.
    You clearly know what youre talking about, why throw
    away your intelligence on just posting videos
    to your weblog when you could be giving us something informative to read?

  27. This info is worth everyone’s attention. Where can I find out more?

  28. Helpful info. Fortunate me I discovered your website unintentionally, and I am stunned why this twist of fate didn’t happened in advance!
    I bookmarked it.

  29. I quite like looking through a post that can make
    men and women think. Also, thanks for allowing me
    to comment!

  30. Hmm it seems like your site ate my first comment (it was
    extremely long) so I guess I’ll just sum it up what I had written and
    say, I’m thoroughly enjoying your blog. I as well am an aspiring
    blog writer but I’m still new to everything. Do you have any suggestions for rookie blog writers?
    I’d really appreciate it.

發佈留言

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