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,236,998 Responses

  1. Darrelherse表示:

    slot casino siteleri: deneme bonusu veren siteler – en yeni slot siteleri

  2. KevinSounc表示:

    https://slotsiteleri.bid/# en iyi slot siteleri

  3. We stumbled over here coming from a different website and thought I may as well check
    things out. I like what I see so now i am following you.
    Look forward to going over your web page repeatedly.

  4. Pretty section of content. I just stumbled upon your blog and
    in accession capital to assert that I acquire actually enjoyed account your blog posts.
    Any way I will be subscribing to your augment and even I achievement you
    access consistently rapidly.

  5. Darrelherse表示:

    slot siteleri guvenilir: 2024 en iyi slot siteleri – en yeni slot siteleri

  6. Guide To Double Glazing Repairs Near Me: The Intermediate Guide To Double Glazing Repairs Near Me double glazing repairs near me

  7. Darrelherse表示:

    yeni slot siteleri: slot siteleri bonus veren – 2024 en iyi slot siteleri

  8. Ezequiel表示:

    5 Tools Everyone In The Replacement Vauxhall Key Cost Industry Should Be Utilizing vauxhall van key replacement (Ezequiel)

  9. Appreciate this post. Let me try it out.

  10. Repairer表示:

    A Glimpse At The Secrets Of Honda Car Key Fob Replacement Repairer

  11. 12 Facts About Bentley Valet Key To Make You Seek Out Other People bentley gt Key

  12. constantly i used to read smaller articles which also clear their
    motive, and that is also happening with this article which I am reading at this place.

  13. Ev Taşıma | Bu yazıda taşınma sürecinde yapılması gerekenleri çok güzel özetlemişsiniz. Kozcuoğlu Ev Taşıma olarak, bu süreçte müşterilerimizin yanında olmaktan memnuniyet duyuyoruz.

  14. Darrelherse表示:

    casino slot siteleri: bonus veren casino slot siteleri – slot oyunlar? siteleri

  15. You’ll Never Guess This Upvc Double Glazed Windows’s Tricks Upvc double glazed windows

  16. I’m truly enjoying the design and layout of your website.
    It’s a very easy on the eyes which makes it much more pleasant for
    me to come here and visit more often. Did you hire out a developer to create
    your theme? Great work!

  17. Anneliese表示:

    Hi there to all, how is the whole thing, I think every one is getting more from this web site, and your
    views are good in support of new visitors.

  18. KevinSounc表示:

    https://slotsiteleri.bid/# bonus veren casino slot siteleri

  19. KevinSounc表示:

    https://slotsiteleri.bid/# slot bahis siteleri

  20. macauslot88表示:

    If some one wishes expert view regarding blogging and site-building
    after that i recommend him/her to visit this webpage,
    Keep up the fastidious job.

  21. hi!,I really like your writing so much! share we communicate more about your post
    on AOL? I require an expert in this area to unravel my problem.
    May be that is you! Taking a look forward to see you.

    Here is my blog post :: billionaire brain wave review

  22. Ꮤhen I originally commented Ӏ appear to haѵe clicked on tһe
    -Notify me when neѡ comments aree ɑdded- checkbox and from now
    on evеry time a comment is adԀed I get 4 emails with tthe samе comment.
    Perhaps there is a means you are аble tο remove me from tһat service?
    Appreciate it!

    Heге is my web site: togel yang keluar hari ini

  23. Darrelherse表示:

    slot siteleri bonus veren: deneme bonusu veren siteler – en iyi slot siteleri 2024

  24. dra. Brígida表示:

    Este artículo es muy interesante.
    Siempre es importante estar informado sobre salud.

    Este contenido me ayudó a entender mejor
    el tema.
    La data sobre laboratorios es clave.
    Nunca había considerado esto de esa manera.
    Gracias por proporcionar esta información.
    Muy informativo y bien explicado.
    Aprecio la claridad con la que explicas este tema.
    Este artículo subraya lo esencial que son.
    Este artículo está muy bien estructurado.
    La prevención es clave y este artículo lo deja claro.

    Gran enfoque sobre un aspecto vital de la salud.
    Este tipo de artículos son los que hacen la diferencia.
    Un gran recordatorio de la importancia de la salud.
    Gracias por resaltar la importancia de la salud.
    Este es un artículo que recomendaría leer.
    Gracias por brindar una explicación tan clara.
    Un contenido excelente para entender mejor este tema.
    Es bueno ver artículos que destacan la importancia de los laboratorios.

    Muy bien explicado y fácil de entender.
    La salud es algo que todos debemos priorizar.
    Este tipo de contenido es esencial para todos.
    Este artículo hace un gran trabajo explicando este tema.

    Es vital estar informado sobre esto.
    Es esencial saber más sobre este tema.
    Un excelente artículo sobre la salud y sus cuidados.
    Un gran recurso para quienes buscan información confiable.

    Es importante estar bien informado sobre salud.
    Esto es lo que todos deberíamos leer.
    Gracias por la claridad con la que explicas este tema.
    Un excelente recurso para quienes buscan mejorar su salud.

    Un contenido muy valioso sobre la salud.
    Un artículo que sin duda será útil para muchos.

    Es un tema importante y bien explicado.
    Es un gran recurso para quienes buscan información fiable.

    Un gran recurso para quienes buscan mejorar su salud.
    Gracias por enfocarte en este aspecto.
    Un artículo que todos deberíamos leer para cuidar mejor nuestra salud.

    Gracias por este artículo tan necesario.
    Un gran recurso para quienes buscan información confiable.

    Un tema muy importante y bien explicado.
    Gracias por compartir este contenido tan útil.
    Gracias por este artículo tan bien detallado.
    Este tipo de contenido es lo que necesitamos.
    Gracias por la información tan útil.
    Es fundamental entender esto y tu artículo ayuda mucho.
    Un excelente recurso para quienes buscan mejorar su salud.

  25. Carlton表示:

    It’s truly very difficult in this active life to listen news on TV,
    thus I simply use internet for that reason, and obtain the most recent
    information.

  26. Looking For Inspiration? Try Looking Up Lost Honda Key Honda replacement Key cost uk

發佈留言

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