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,592,348 Responses

  1. Android - f1f表示:

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

    Переходите по ссылке для информации: https://www.sex8.zone/home.php?mod=space&uid=9618413&do=profile

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

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

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

  2. If you desire to get much from this piece of writing then you
    have to apply such methods to your won web site.

  3. Rachaelmax表示:

    Discover the world of enjoyment with our pools!
    We offer a wide selection of pools, their installation and maintenance.
    More detailed information on the link строим бассейны
    Create an oasis at home with best solutions.
    Individual approach and guarantees for all work.

  4. Dwightprugs表示:

    https://plinkofr.com/# avis plinko

  5. site表示:

    May I simply just say what a comfort to discover a person that really understands what they are
    talking about over the internet. You definitely know how to bring an issue to light and make it important.
    More people need to check this out and understand this side of your story.
    I can’t believe you are not more popular since you most certainly have the gift.

    Also visit my page site

  6. Boycenog表示:

    http://plinkocasi.com/# Plinko online game

  7. Dwightprugs表示:

    https://plinkodeutsch.com/# plinko ball

  8. Pabloslunc表示:

    Plinko games Plinko Plinko-game

  9. Boycenog表示:

    https://plinkodeutsch.com/# Plinko Deutsch

  10. site表示:

    This post presents clear idea in support of the new visitors of blogging, that in fact how to do blogging.

    My site :: site

  11. Luciotox表示:

    Недавно наткнулся на https://mm.yxwst58.com/home.php?mod=space&uid=372065 – РіРёР·Р±Рѕ казик,
    и решил поделиться своим опытом.
    Платформа выглядит очень привлекательной,
    особенно если хочешь найти качественное казино.
    Есть кто-то реально использовал Gizbo Casino?
    Поделитесь своим мнением!

    В частности интересно узнать про промокоды и акции.
    Допустим, есть ли Gizbo Casino особые условия для новых пользователей?
    Еще интересует, где получить рабочее зеркало Gizbo Casino, если официальный сайт недоступен.

    Видел много противоречивых мнений, но интересно узнать честные рекомендации.
    Допустим, где лучше активировать промокоды на Gizbo Casino?
    Расскажите своим опытом!

  12. Joel Norton表示:

    The tips provided are invaluable for anyone navigating health insurance in Fort Myers! Health Insurance Agency

  13. MichaelBrefe表示:

    plinko game: PlinkoFr – plinko ball

  14. VvtcHesia表示:

    It is advisable to do a comparison of prices before you dissertation editing service at large discounts with great service

  15. LarryHiz表示:

    plinko casino: plinko ball – avis plinko

  16. Luciotox表示:

    На днях нашел на http://boss.why3s.cc/boss/home.php?mod=space&uid=196120 – РіРёР·Р±Рѕ официальный зеркало,
    и захотел поделиться своим опытом.
    Сайт кажется очень интересной,
    особенно когда ищешь качественное казино.
    Есть кто-то уже использовал Gizbo Casino?
    Расскажите своим мнением!

    В частности интересно узнать про промокоды и акции.
    Допустим, есть ли Gizbo Casino специальные условия для начинающих пользователей?
    Также интересно, где найти рабочее зеркало Gizbo Casino, если официальный сайт не работает.

    Читал много противоречивых отзывов, но хотелось бы узнать честные рекомендации.
    Например, как лучше активировать бонусы на Gizbo Casino?
    Расскажите своим мнением!

  17. PENIPU ONLINE表示:

    It is the best time to make some plans for
    the future and it is time to be happy. I’ve read this post and if I could I
    wish to suggest you some interesting things or
    tips. Maybe you can write next articles referring to this
    article. I wish to read more things about it!

  18. Thanks designed for sharing such a nice idea, article is fastidious, thats why
    i have read it entirely

  19. Boycenog表示:

    https://plinkocasi.com/# Plinko casino game

  20. LarryHiz表示:

    plinko game: avis plinko – plinko game

  21. MichaelBrefe表示:

    Plinko game: Plinko app – Plinko online game

  22. Boycenog表示:

    http://plinkofr.com/# plinko france

  23. LarryHiz表示:

    pinco legal: pinco.legal – pinco.legal

  24. Pabloslunc表示:

    pinco slot pinco pinco casino

發佈留言

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