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,242,277 Responses

  1. StevenNub表示:

    dapoxetine price: buy priligy – dapoxetine online

  2. Hester表示:

    What’s The Current Job Market For Best Crypto Casino 2024 Professionals Like?
    Best crypto casino 2024; Hester,

  3. xintangtc.com表示:

    The Most Worst Nightmare Concerning 2 Seater Leather Sofa Chesterfield Get Real 2 seater chesterfield leather (xintangtc.com)

  4. BrandenSlomy表示:

    canada pharmacy prednisone: buy prednisone – prednisone cost canada

  5. BrandenSlomy表示:

    amoxicillin 500mg prescription: Amoxicillin buy online – amoxicillin generic

  6. BrandenSlomy表示:

    amoxicillin online without prescription: cheap amoxil – amoxicillin no prescipion

  7. site表示:

    It’s in fact very difficult in this busy life to listen news on TV, therefore I
    simply use internet for that reason, and obtain the most up-to-date news.

    Also visit my web-site; site

  8. Nikefut表示:

    darkmarket 2024 darknet drug market dark web sites links

  9. JosephTeets表示:

    Твой решение для игр на удачу – казино Слотозал!
    Слотозал показывает обширный ассортимент слот-машин, выгодные бонусы и высокий уровень безопасности. Интерфейс платформы понятен, навигация проста, что способствует быстро отыскать любимые игры. Поддержка постоянно готова содействовать с всеми вопросами. Зарегистрируйтесь на официальном портале casinoslotozal.net и начните выигрывать немедленно!

  10. Lazrxoc表示:

    Сколько стоит получить диплом высшего и среднего образования легально?
    almet.listbb.ru/viewtopic.php?f=12&t=666

  11. StevenNub表示:

    prednisone online paypal: raypharm – prednisone brand name canada

  12. Hi, all is going fine here and ofcourse every one is sharing facts, that’s really good, keep up writing.

  13. Mursorbit App表示:

    Greate pieces. Keep writing such kind of information on your page.
    Im really impressed by your blog.
    Hello there, You have done a fantastic job.
    I’ll definitely digg it and personally suggest to my friends.
    I am confident they will be benefited from this website.

  14. Dereketerm表示:

    cheap priligy: buy priligy max pharm – Priligy tablets

  15. Dereketerm表示:

    get cheap clomid for sale: clomid – order cheap clomid without rx

  16. Uazrrvi表示:

    Всё, что нужно знать о покупке аттестата о среднем образовании без рисков

    cc4g.net/diplom-o-srednem-professionalnom-obrazovanii-obrazets-kupit.html

  17. Lazrvzt表示:

    Как безопасно купить диплом колледжа или ПТУ в России, что важно знать
    girlscools.ru/diplom-dlya-uspeshnoy-kareryi-bez-ekzamenov-i-testov

  18. BrandenSlomy表示:

    how can i get cheap clomid no prescription: clomid purchase online rex pharm – get clomid now

  19. What’s The Job Market For Couches Near Me For Sale Professionals?
    couches near me For sale

  20. 10 Simple Steps To Start The Business You Want To Start Bunk Beds
    For Kids Business bunk bed for kids

  21. Тут можно преобрести оружейные сейфы купить сейф для оружия в москве

  22. Hello it’s me, I am also visiting this website daily, this web page is really nice and the visitors are in fact sharing nice thoughts.

  23. StevenNub表示:

    can i purchase clomid tablets: clomid rex pharm – can i order generic clomid without dr prescription

  24. Drugs information leaflet. Cautions.
    where buy generic ziprasidone prices
    Best what you want to know about pills. Read now.

  25. How A Weekly Pragmatic Slot Experience Project Can Change Your Life 프라그마틱 추천

  26. Узнай все о варикоцеле диагностика чем опасно варикоцеле

  27. JosephTeets表示:

    Официальный веб-сайт казино Рояль предлагает изысканную обстановку для гемблеров. С его изысканным дизайном и высококачественным выбором игр, Рояль является идеальным местом для тех, кто ценит качественное азартное развлечение. Исследуйте широкий спектр игровых автоматов и настольных игр на главном веб-сайте royalcasino-slots.com/kk/.

    Казино Рояль гарантирует первоклассное обслуживание клиентов и поддержку. Реагирующая команда поддержки в наличии круглосуточно, настроена реагировать на любые вопросы и исправить проблемы, обеспечивая беспрерывную игру и удовлетворение.

  28. Lazrgel表示:

    Реально ли приобрести диплом стоматолога? Основные этапы
    cs-forever.phorum.pl/viewtopic.php?p=29567#29567

發佈留言

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