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,365,094 Responses

  1. Hi! I’m at work browsing your blog from my new apple iphone!
    Just wanted to say I love reading your blog and look forward to all your posts!
    Carry on the outstanding work!

  2. Markdob表示:

    Всем привет! Может кто знает, где почитатьразные блоги о недвижимости? Сейчас читаю – https://kempolovo.ru

  3. StevenNub表示:

    amoxicillin cephalexin: Amoxicillin for sale – amoxicillin canada price

  4. WengToto表示:

    I loved as mᥙch aѕ уou wіll receive carried out right herе.
    The sketch is tasteful, your authored material stylish. nonetһeless, youu command get ggot an impatience οver that you wisһ Ƅe delivering thе follߋwing.
    unwell unquestionably сome furtһer formerly again since exаctly the same nearlу very often insіɗe case you shield thіs increase.

    My web page :: WengToto

  5. Nikefut表示:

    deep web search dark net https://darknetmarketstore.com/ – drug markets dark web

  6. лучшие игры с модами на андроид 2024 — это удивительная возможность улучшить игровой процесс.
    Особенно если вы пользуетесь устройствами
    на платформе Android, модификации открывают
    перед вами большие перспективы.
    Я нравится использовать взломанные игры, чтобы получать
    неограниченные ресурсы.

    Моды для игр дают невероятную возможность
    настроить игру, что погружение в игру гораздо интереснее.
    Играя с модификациями, я могу добавить дополнительные функции, что добавляет
    новые приключения и делает игру более эксклюзивной.

    Это действительно невероятно, как такие модификации могут
    улучшить взаимодействие с игрой, а при этом с
    максимальной безопасностью использовать такие модифицированные приложения можно без особых неприятных последствий, если быть внимательным и следить за
    обновлениями. Это делает каждый игровой процесс уникальным, а возможности практически бесконечные.

    Советую попробовать такие игры с модами
    для Android — это может вдохновит на новые приключения

  7. Markdob表示:

    Всем привет! Может кто знает, где почитатьразные статьи о недвижимости? Сейчас читаю – https://kempolovo.ru

  8. Markdob表示:

    Всем привет! Может кто знает, где найтиполезные блоги о недвижимости? Сейчас читаю – https://kempolovo.ru

  9. Dereketerm表示:

    dapoxetine price: priligy maxpharm – priligy

  10. Mini Trike表示:

    Hello, I read your new stuff daily. Your writing style is witty, keep up the
    good work!

  11. BrandenSlomy表示:

    order prednisone online canada: order Prednisone – can you buy prednisone over the counter in mexico

  12. xxx表示:

    Howdy! This post couldn’t be written any better!
    Reading through this article reminds me of
    my previous roommate! He constantly kept talking about this.
    I’ll send this article to him. Fairly certain he’ll have a great
    read. Thank you for sharing!

  13. Dereketerm表示:

    buying amoxicillin online: buy amoxil – generic amoxil 500 mg

  14. I don’t even understand how I stopped up here, but
    I assumed this put up was once good. I do not recognize who you are
    however certainly you’re going to a well-known blogger if you aren’t
    already. Cheers!

  15. Markdob表示:

    Приветствую. Может кто знает, где найтиполезные статьи о недвижимости? Сейчас читаю – https://kempolovo.ru

  16. Sazrhay表示:

    Покупка диплома о среднем полном образовании: как избежать мошенничества?
    kai87la.flybb.ru/viewtopic.php?f=5&t=725

  17. Markdob表示:

    Всем привет! Может кто знает, где найтиразные блоги о недвижимости? Пока нашел – https://kempolovo.ru

  18. BrandenSlomy表示:

    price of prednisone 5mg: raypharm – prednisone 5mg over the counter

  19. Nikefut表示:

    dark web link dark markets 2024 https://darknetmarketstore.com/ – dark web access

  20. ariat men’s slippers

    Very descriptive blog, I loved that bit. Will there be a part 2?

  21. Your mode of describing the whole thing in this post is truly nice, all be capable of effortlessly
    know it, Thanks a lot https://chaussuressemy.com/boutique/

  22. Hello would you mind stating which blog platform you’re working with?
    I’m planning to start my own blog soon but I’m having a hard time choosing between BlogEngine/Wordpress/B2evolution and Drupal.
    The reason I ask is because your design seems different then most blogs and I’m looking for something completely unique.
    P.S Apologies for getting off-topic but I had
    to ask!

  23. StevenNub表示:

    can i buy generic clomid online: clomid online – generic clomid pill

  24. SEO Services表示:

    I do not even understand how I finished up right here, however I
    thought this publish used to be good. I don’t recognize who you might be however certainly
    you are going to a famous blogger if you are not
    already. Cheers!

    Here is my homepage :: SEO Services

  25. action game表示:

    Remarkable! Its truly remarkable article, I have got much clear idea concerning from this paragraph.

    Also visit my blog – action game

  26. BrandenSlomy表示:

    buy amoxicillin: buy amoxil online – how much is amoxicillin prescription

發佈留言

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