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,230,020 Responses

  1. Hier oben ist es doch schrecklich einsam! „Piep, piep!” sagte da eine kleine Maus und huschte hervor; und dann kam noch eine kleine. Sie beschnüffelten den Tannenbaum, und dann schlüpften sie zwischen seine Zweige. ” sagten die kleinen Mäuse.
    „Es ist eine greuliche Kälte! „Sonst ist hier nütze
    sein; nicht wahr, du alter Tannenbaum? „Ich bin wie auch immer nicht alt!
    ” sagte der Tannenbaum; „es gibt viele, die weit älter sind denn ich! „Woher kommst du?” fragten die Mäuse, „und was weißt du?

    ” Sie waren gewaltig neugierig. „Erzähle uns doch von den schönsten Orten auf Erden! Bist du in der Speisekammer gewesen, wo Käse auf den Brettern liegen und Schinken unter der Decke hängen, wo man auf Talglicht tanzt, mager hineingeht und fett herauskommt? Bist du dort gewesen? ” Und dann erzählte er alles aus seiner
    Jugend. Die kleinen Mäuse hatten früher nie dergleichen gehört, sie
    horchten auf und sagten: „Wieviel du gesehen hast!
    „Das kenne ich nicht”, sagte der Baum; „aber den Wald kenne ich, wo die Sonne scheint und die Vögel singen! Wie glücklich du gewesen bist! „Ich?” sagte der Tannenbaum und dachte
    über das, was er selbst erzählte, nach. „Ja, es waren gleichsam ganz fröhliche Zeiten!

  2. It’s difficult to find educated people in this particular subject, but you sound like you know
    what you’re talking about! Thanks

  3. I do not even know the way I ended up right here, however I thought
    this submit was good. I don’t realize who you’re but certainly you’re going to a famous blogger when you aren’t already.
    Cheers!

  4. Thank you for the good writeup. It if truth be told was a amusement account it.
    Look advanced to more introduced agreeable from you!

    However, how could we keep in touch?

  5. discuss表示:

    Paragraph writing is also a fun, if you know
    then you can write if not it is complicated to write.

  6. Do you have a spam problem on this site; I also am a blogger, and I was curious about your situation; we
    have developed some nice procedures and we are looking to exchange strategies with other folks, why not
    shoot me an e-mail if interested.

  7. 88yllt.com表示:

    I would like to thank you for the efforts you have put in penning this blog.
    I’m hoping to check out the same high-grade blog posts by you in the future as well.
    In truth, your creative writing abilities has inspired me to get
    my own, personal blog now 😉

  8. For the reason that the admin of this web site is working, no uncertainty very
    rapidly it will be renowned, due to its feature contents.

  9. May I just say what a relief to discover someone who truly understands what they are talking about on the internet.

    You actually realize how to bring a problem to light
    and make it important. More people have to check this out and
    understand this side of the story. It’s surprising you’re not more
    popular given that you definitely have the gift.

  10. Pretty! This was an extremely wonderful post. Thank you for supplying this info.

  11. I am regular reader, how are you everybody? This
    piece of writing posted at this website is truly pleasant.

  12. Heya terrific website! Does running a blog like this require a large amount of work?
    I have absolutely no understanding of computer programming but I was hoping
    to start my own blog soon. Anyhow, if you have any suggestions or tips for new blog owners please share.
    I understand this is off subject but I simply wanted to ask.
    Appreciate it!

  13. I read this post completely regarding the comparison of
    latest and preceding technologies, it’s awesome article.

  14. I seriously love your site.. Very nice colors & theme.
    Did you create this website yourself? Please reply back as
    I’m wanting to create my very own website and would love to know
    where you got this from or just what the theme is called.
    Thank you!

  15. I truly love your website.. Excellent colors & theme.
    Did you develop this amazing site yourself? Please reply back as I’m hoping to create my own website and would love to know where you got this from or exactly
    what the theme is called. Cheers!

  16. Somebody necessarily assist to make significantly posts I’d state.

    This is the very first time I frequented your web page
    and up to now? I amazed with the analysis you made to create this particular
    publish incredible. Fantastic job!

  17. Hi there, its fastidious post about media print, we all be aware of media is a enormous source of information.

  18. Hello outstanding website! Does running a blog similar to this require a
    massive amount work? I’ve very little expertise in coding
    but I was hoping to start my own blog soon. Anyway,
    should you have any suggestions or tips for new blog owners
    please share. I know this is off topic but I just wanted
    to ask. Thanks!

  19. 3. Kaufberatung: Wie lässt sich schnell der passende Bewegungsmelder
    finden? Natürlich soll Ihr persönlicher Bewegungsmelder-Testsieger am wahrscheinlichsten ein Gerät für den Privathaushalt sein. Das ist aber natürlich nicht
    das einzige, was Sie wissen müssen. Deshalb erklären wir Ihnen im Bewegungsmelder-Vergleich bis auf Weiteres alles wichtige
    zu den Kriterien, auf die Sie beim Kauf besonders achten sollten. Entgegen Bewegungsmelder, erkennen Präsenzmelder auch ruhige und kleine Bewegungen. Die
    meisten Geräte aus diesem Bereich sind einer der Infrarottechnik ausgestattet.
    So bleibt das Arbeitszimmer auch bei minimalen Bewegungen am Schreibtisch beleuchtet.
    Bei Bewegungsmeldern besteht die Möglichkeit sie wahlweise
    entweder an der Decke oder an der Wand anzubringen.
    Bevorzugen Sie eine Anbringung an der Zimmerdecke, dann sollten Sie einen Bewegungsmelder
    kaufen, der vom Hersteller als Deckenmelder ausgezeichnet wurde.

    Praktisch ist bei diesen Modellen einen Bewegungsmelder Öffnungswinkel von 360
    °, so dass der ganze Raum erfasst werden kann und
    tote Zonen kein Bein auf die Erde kriegen. Ein Nachteil der Geräte,
    darauf würden wir gerne hinweisen, ist, dass je höher die Decke ist
    und je höher der Melder hängt, seine Empfindlichkeit abnimmt.
    Zudem haben die Geräte auch einige Probleme in langen und engen Räumen.

  20. When I initially commented I clicked the “Notify me when new comments are added” checkbox and now
    each time a comment is added I get several e-mails with the
    same comment. Is there any way you can remove me from that service?

    Many thanks!

  21. urlscan.io表示:

    It’s amazing to visit this web page and reading the views of
    all friends concerning this paragraph, while I am also zealous of getting
    know-how.

  22. Amelie表示:

    Great items from you, man. I have keep in mind your stuff
    previous to and you are just extremely great.
    I actually like what you have obtained right here, certainly like what you are saying and
    the best way in which you assert it. You make it
    enjoyable and you still take care of to stay it sensible.
    I cant wait to read far more from you. This is really a terrific website.

  23. Bei allen drei Produktarten muss man die Haare in Passagen teilen und jede im Alleingang tönen bzw.

    färben. Auch eine Mousse an der Zeit sein nicht wild, wie beispielsweise Shampoo, im Haar verteilen. 3.

    Wie bereite ich mich vorm Färbeprozess richtig vor?
    Sonst wird die Farbe nicht gleichmäßig. Ganz wichtig:
    Vorm Färbeprozess aufs Haarewaschen verzichten und
    die Farbe oder Blondierung immer auf die trockenen, nicht gewaschenen Haare und
    somit auf die Ausgangshaarfarbe auftragen, da der leichte Talgfilm die Kopfhaut schützt.

    Ratsam außerdem: die Haare einige Tage vor dem Färben mit
    Pflegekuren zu verwöhnen, damit die Farbe gleichmäßig angenommen wird.
    In den Tagen davor auch mit stark festigendem Styling sparsam umgehen, damit die Haarfarbe auf jeden Fall gleichmäßig wird.
    Sollte später doch was danebengehen: Kleckse auf der Haut sofort mit Wasser wegrubbeln und auch Farbflecken auf
    Keramik gleich mit einem feuchten Tuch entfernen. Damit man beim Prozess Flecken vorbeugt, die Gesichtskonturen und Ohren gut mit einer Fettcreme
    einreiben, das vermeidet das Anfärben der Haut. Aus der Kleidung lässt sich Farbe nur
    bei Temperaturen ab 60 Grad entfernen – und Flecken der Blondierung bleichen die Textilien leider für immer und ewig.

  24. For the reason that the admin of this web site is working, no doubt very soon it will be famous, due to
    its quality contents.

  25. In fact no matter if someone doesn’t know after that its up to other users that they will help,
    so here it occurs.

  26. getpocket.com表示:

    Hello my friend! I want to say that this article is amazing, nice written and
    include almost all significant infos. I would like to peer extra posts like this .

  27. I think this is among the most vital information for me.
    And i’m glad reading your article. But wanna remark on few general things,
    The website style is perfect, the articles is really excellent : D.
    Good job, cheers

  28. Nice weblog here! Also your web site a lot up very fast!
    What web host are you using? Can I get your affiliate hyperlink
    to your host? I wish my site loaded up as fast as yours lol

  29. Fawn表示:

    Way cool! Some very valid points! I appreciate you writing this post plus the
    rest of the website is also really good.

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

發佈留言

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