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,250,190 Responses

  1. I got this web site from my pal who shared with me regarding this web site and at the moment this time
    I am visiting this web site and reading very informative articles or reviews here.

  2. HouseFast™表示:

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

    My blog … HouseFast™

  3. SEO services表示:

    Looking for SEO services? Or need consultancy in SEO or digital Marketing?
    Contact khurram Jamil, He is Google Certified SEO Expert and Trainer.
    you can reach him at https://web.facebook.com/khurramjamilseo/

  4. Hey there I am so excited I found your site, I really found you by
    mistake, while I was looking on Google for something else, Anyways I am here now and would just like to say cheers for a incredible post and a all round enjoyable blog (I also love the theme/design), I don’t
    have time to go through it all at the moment but I have book-marked it and also
    included your RSS feeds, so when I have time I will be back to read more, Please
    do keep up the fantastic work.

  5. Belts表示:

    Thank you a lot for sharing this with all of us you actually
    recognise what you are talking approximately! Bookmarked.
    Please also discuss with my website =). We may have a hyperlink alternate
    agreement between us

  6. each time i used to read smaller articles or reviews that also clear their motive, and that is also happening with this post which I am reading here.

  7. Kelle表示:

    I have been browsing online more than three hours today,
    but I never discovered any fascinating article
    like yours. It’s lovely value enough for me. Personally, if all
    webmasters and bloggers made excellent content material as you
    probably did, the web will be a lot more useful than ever
    before.

  8. Oh my goodness! Amazing article dude! Many thanks, However I am having troubles with your
    RSS. I don’t understand the reason why I cannot join it.

    Is there anybody getting similar RSS issues? Anyone who knows the solution can you
    kindly respond? Thanx!!

  9. Hi friends, how is all, and what you would like to say about this piece of writing, in my view its in fact awesome in favor of me.

  10. genius.com表示:

    Why viewers still make use of to read news papers when in this technological world all is
    accessible on net?

  11. Please let me know if you’re looking for a article writer
    for your weblog. You have some really good articles and I believe I would be a good asset.
    If you ever want to take some of the load off, I’d love to write some articles for your blog in exchange for a link back to mine.
    Please blast me an email if interested. Regards!

  12. onlines.pro表示:

    Its like you read my mind! You seem to know a lot about this, like you wrote the book in it or something.
    I think that you can do with some pics to drive the message
    home a little bit, but instead of that, this is fantastic blog.
    A great read. I’ll certainly be back.

  13. slot pulsa表示:

    handy review. Aside from that visit the most popular site to relish slot pulsa.
    This great site has received personal information caused by
    slot machine game games competition in Dalam negeri.
    Truth be told there tend to be loads of interesting
    promos indoors event people join right now.

  14. roomba 531表示:

    Diesen Traum haben wohl viele Wohnungsbesitzer.
    Durch einen Saugroboter haben Sie die Möglichkeit, diesen Traum Wirklichkeit werden zu
    lassen. Saugroboter sind perfekt dafür geeignet den Dreck zu
    entfernen, der Zeit im Haushalt anfällt. Hierfür muss man nur eine gewisse Zahl Knöpfe drücken und schon legt der
    Saugroboter los. Außerdem erhalten Sie zusammengefasste
    Saugroboter Tests von externen Testportalen mit den jeweiligen Testsiegern und ausführliche
    Produktbeschreibungen mit den Vor- und Nachteilen der einzelnen Saugroboter.
    Dabei orientiert er sich mit speziellen Sensoren, die ihn an den tag legen,
    wo sich beispielsweise eine Wand oder eine Treppe befinden. Hinweis:
    Die Preisangaben werden tagesaktuell. Da sich die Preise häufig
    ändern, können die hier angezeigten Preisangaben von den tatsächlichen Preisen abweichen. 3 Was sollte ich beim Kauf eines Saugroboters beachten? 4 Wie viel kostet solch Roboter?
    2 Welcher Roboter Staubsauger ist der Beste? 6 Welche weiteren Saugroboter Tests von angesehenen Magazinen gibt es?
    Medion Saugroboter Test – wie gut ist das günstige Modell von Aldi?

    5 Gibt es einen Staubsauger Roboter Test von Stiftung Warentest?

    Außerdem finden Sie hier vier unterschiedliche Kategorien. In dem
    Bereich günstige Saugroboter finden Sie die aktuell besten Saugroboter in der Preiskategorie 50-150 Euro.

  15. Mehrscheiben-Isolierglas (MIG), auch als Wärmedämmverglasung oder Isolierverglasung bezeichnet, ist ein aus nicht nur einer Glasscheiben zusammengesetztes
    Bauelement für Fenster und andere Verglasungen. Zwischen den Scheiben befindet sich
    ein Hohlraum, der gas- und feuchtigkeitsdicht verschlossen ist und der Schall- und Wärmedämmung
    dient. In den ersten Jahrzehnten seit Aufkommen von Mehrscheiben-Isolierglas (1950er bis 1970er Jahre) hatte die Marke Thermopane im deutschen Sprachraum
    eine große Verbreitung. Vorläufer waren die Doppelverglasung
    ohne Luftabschluss, das Verbundfenster und die doppelte Einzelverglasung
    beim Kasten- oder beim Winterfenster. Der Name wurde zeitweilig
    zum Synonym für Zweischeiben-Isolierglas. Als Produktbezeichnung werden auch
    die Ausdrücke Klimaschutzglas, Thermoglas, Wärmedämmglas oder Wärmeschutzglas verwendet.
    Ausdrücke wie Sonnenschutzglas, Sichtschutzglas, Einbruchschutzglas oder Schallschutzglas bezeichnen überwiegend ein Mehrscheiben-Isolierglas mit speziellen zusätzlichen Eigenschaften, bei alldem eine einzelne Flachglaskonstruktion diese ebenfalls haben kann.
    Im Gegensatz zu wärmeren Klimazonen steht in Zentral- und
    Nordeuropa bei wärmedämmenden Fenstern weniger
    die Reduzierung der erforderlichen Kühlungsenergie (hohe Betriebskosten von Klimaanlagen), als vielmehr eine
    wesentliche Einsparung bei der Heizenergie für Gebäude im Vordergrund.

  16. I think the admin of this site is actually working hard
    in support of his web site, since here every data is quality based stuff.

  17. atavi.com表示:

    Hello! This post couldn’t be written any better!
    Reading this post reminds me of my old room mate! He always kept talking about this.
    I will forward this page to him. Fairly certain he
    will have a good read. Many thanks for sharing!

  18. horror porn表示:

    Great goods from you, man. I have take note your stuff previous to and
    you are simply extremely wonderful. I really
    like what you’ve got right here, certainly like what
    you are stating and the best way through which you assert it.

    You’re making it enjoyable and you continue to take care of
    to stay it sensible. I can not wait to learn much more
    from you. This is really a terrific website.

  19. Harry表示:

    Awesome issues here. I am very happy to see your article.
    Thanks a lot and I am having a look forward to touch you.

    Will you please drop me a mail?

  20. HotShot Keto表示:

    Its good as your other content :D, thank you for
    putting up.

  21. Howdy! This is my first visit to your blog!
    We are a team of volunteers and starting a new initiative in a community
    in the same niche. Your blog provided us valuable information to work on. You have done a extraordinary job!

  22. I blog quite often and I seriously thank you for your information. This great article has truly peaked my interest.
    I will take a note of your site and keep checking
    for new details about once a week. I opted in for your RSS feed too.

  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 inwendig von 15 % – 20 %. Um diesen Prozentsatz
    sind moderne 3fach verglaste Fenster meist teurer. Wenns um
    einen Neubau geht und man vor allem auf die Fensterkosten schaut, ist
    es am besten 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
    erst recht dann, wenn man sie mit einem Fenster mit sehr hohen U-Werten vergleicht (etwa innerhalb von 2,0 oder
    darüber).

  24. naturally like your web-site but you have to take a look at the spelling on quite a few of your posts.
    Many of them are rife with spelling problems and I
    to find it very troublesome to tell the truth
    on the other hand I will definitely come again again.

  25. Cool blog! Is your theme custom made or did you download it from somewhere?
    A design like yours with a few simple adjustements
    would really make my blog jump out. Please let me know where you got your design.
    Thank you

  26. Excellent blog! Do you have any helpful hints for aspiring writers?
    I’m planning to start my own blog soon but I’m a little lost
    on everything. Would you recommend starting with a free platform like
    Wordpress or go for a paid option? There are so many
    options out there that I’m completely overwhelmed
    .. Any recommendations? Kudos!

  27. Amazing! Its in fact awesome post, I have got much clear idea
    about from this post.

  28. Helpful info. Lucky me I discovered your website accidentally, and I’m shocked why this twist of fate did not happened earlier!
    I bookmarked it.

  29. I’m gone to tell my little brother, that he should also pay a quick visit this web site on regular basis to
    obtain updated from most up-to-date gossip.

  30. Hello, I enjoy reading through your post. I wanted
    to write a little comment to support you.

發佈留言

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