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,466,598 Responses

  1. 검단쪽 장사 제일 잘 되는 곳 입니다. 인천 서구 노래방알바로 연락 주세요

  2. Budal表示:

    Live Music Budal

  3. Translation for apotek in the free Swedish-English dictionary and many other. Buy generic Tramadol Online, Excellent quality.Only Top Quality Drugs! Express. Rating: 4-Review by Oyster.com Investigators-Price range, 325 Based on average rates. Cialis Viagra Billig, Apotek Online, liKolo Carts. Apotek Online, Toko Obat Alat Kesehatan Online, Konsultasi Kesehatan. https://lakemedelstillforsel.com/telfast/ Inkop Telfast Rabatt

  4. You’ll Never Guess This Composite Door Paint Repair’s Benefits
    composite door paint repair; https://80adec2ampndbs9h.рф/user/soupcello15/,

  5. Lida Miller表示:

    Grooming isn’t almost looks; it really influences their total wellness as well! Thanks for spreading out recognition! mobile groomer near me

  6. mercedes keys表示:

    Your Worst Nightmare Concerning Mercedes Ignition Key Relived mercedes keys

  7. Wow, awesome blog layout! How long have you been blogging for?

    you made blogging look easy. The overall look of your website is fantastic, as well as the content!

  8. Обратите внимание, игроки!

    Готовы окунуться в мир интернет-игр и выиграть реальные финансы? Тогда вам сюда! Список наилучших лучших игровых сайтов 2025

    Наш телеграм-профиль — ваш путеводитель в пространство превосходных онлайн-игр в РФ! Мы собрали топ-10 проверенных игровых сайтов, где вы сможете играть на финансы и забрать свои доходы без трудностей.

    Что вас ждет:

    Честные мнения и ранги Казино с русскоязычной поддержкой от настоящих игроков. Хорошая статус каждого площадки гарантирована временем и клиентами. Безоплатная вход и скорый вход на каждой площадках. Активные дубликаты для посещения к вашему любимому игровой площадке в любой время. Мобильная приложение для удобной проведения времени где желаете.

    Почему нам?

    Безопасные и гарантированные казино с отличными условиями для игры. Защита ваших данных и транзакций гарантирована. Новые события и события пространства онлайн-казино в Российской Федерации.

  9. анонимный вывод из запоя ростов http://vyvod-iz-zapoya-rostov229.ru/ .

  10. 10 Wrong Answers To Common Search Engine Optimisation Company Questions Do
    You Know The Correct Ones? Content Creation companies

  11. I’m extremely inspired along with your writing talents and also with the layout to your blog.

    Is that this a paid subject matter or did you customize it your
    self? Anyway keep up the excellent quality writing, it is rare
    to peer a great weblog like this one today..

  12. BradleyEdino表示:

    sweet bonanza yorumlar sweet bonanza yorumlar sweet bonanza yorumlar

  13. JacobLoody表示:

    изготовление кухни на заказ — Профессиональное изготовление кухонь на заказ для любых интерьеров.

  14. tiered表示:

    Guide To Tiered Backlinks Service: The Intermediate Guide
    For Tiered Backlinks Service tiered

  15. BzrvyHesia表示:

    Buying online so that you know what the lowest price of walmart ranitidine Visit today.

  16. вывод из запоя стационарно ростов https://vyvod-iz-zapoya-rostov229.ru/ .

  17. Olga Flores表示:

    Appreciate the comprehensive advice. For more, visit متن روز پدر برای استوری

  18. вывод. из. запоя. ростов. на. дону. http://vyvod-iz-zapoya-rostov228.ru/ .

  19. My developer is trying to persuade me to move to .net from PHP.
    I have always disliked the idea because of the expenses. But he’s tryiong none the less.
    I’ve been using Movable-type on several websites for about a year and am concerned about switching to another
    platform. I have heard great things about blogengine.net.
    Is there a way I can transfer all my wordpress posts into it?
    Any help would be greatly appreciated!

  20. 10 Things Everybody Hates About Best Brands Of
    Refrigerators Makes Of Fridges

  21. JacobLoody表示:

    https://www.pravoslavieug.ru/ — Официальный сайт pravoslavieug для вашего удобства.

  22. Floyd表示:

    What a data of un-ambiguity and preserveness of precious knowledge on the topic
    of unpredicted emotions.

  23. Edna Maxwell表示:

    Clearly presented. Discover more at Priority Carpet Cleaning

發佈留言

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