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,227,149 Responses

  1. LarryCoell表示:

    deneme bonusu veren siteler betturkey denemebonusuverensiteler.top denemebonusuverensiteler.top

  2. Derekfar表示:

    guvenilir casino siteleri: Casino Siteleri – Casino Siteleri

  3. DwightDAURI表示:

    Latest drug news. Drug guide provided.
    online mexican pharmacy
    Patient pill facts. Find pill info.

  4. Medicine information leaflet. Generic Name.
    where buy thorazine tablets
    Actual news about drug. Get information here.

  5. The 9 Things Your Parents Taught You About 1 Kg Coffee Beans 1 kg coffee beans

  6. new audi Key表示:

    Indisputable Proof That You Need Replacement Key For
    Audi A3 new audi Key

  7. Derekfar表示:

    deneme bonusu veren siteler denemebonusu2026.com: deneme bonusu veren siteler betturkey betturkey.com – deneme bonusu veren siteler betturkey

  8. xhamster表示:

    What a stuff of un-ambiguity and preserveness of precious
    know-how regarding unpredicted feelings.

  9. ScottAtora表示:

    В настоящее время одной из ключевых современных информационных угроз для общества в сфере медиабезопасности становится вовлечение детей и подростков в деструктивные Интернет-сообщества слив школьниц лесбиянок тг

  10. Derekfar表示:

    slot oyunlar? puf noktalar?: slot siteleri – slot oyunlar? puf noktalar?

  11. ClydePab表示:

    deneme bonusu veren siteler yeni: deneme bonusu veren yeni siteler – deneme bonusu veren siteler mycbet.com

  12. janeedmClexy表示:

    Браво, мне кажется, это великолепная фраза
    Этот полис начинает действие только как только вы подаете претензию по личному полису автострахования (что возможно, полис ОСАГО онлайн в Крыму будет способствовать увеличению страховых тарифов).

  13. HassanbuifS表示:

    https://casinositeleri.win/# Casino Siteleri
    deneme bonusu veren siteler

  14. What You Should Be Focusing On Enhancing Pornstar Fleshlight wank sleeve (c1Aid4a5e.рф)

  15. Experience the unparalleled convenience and efficiency of Texty Pro,
    the best landline text messaging service for businesses in North America.
    With Texty Pro, you can effortlessly send and receive SMS text messages with your customers
    across North America using your existing landline or VoIP phone
    number.

    Engage with your customers directly, schedule messages in advance, or utilize our intuitive text message templates from your
    computer. For those times when you are on the move, the Texty Pro mobile
    app ensures you remain connected, anytime, anywhere.

    For your customers, texting your landline number will be as seamless and familiar as texting any mobile phone number.
    No confusion, no complications—just clear and straightforward communication.

    Discover the transformative power of landline texting for your business.

    Try Texty Pro with Apple Intelligence today and elevate your customer interactions to a
    new level of professionalism.

  16. How To Become A Prosperous Automobile Locksmith Near Me Even If You’re Not Business-Savvy automotive Locksmith

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

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

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

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

  18. A person essentially assist to make severely articles I might
    state. That is the very first time I frequented your web page and up to now?
    I surprised with the research you made to create this particular publish incredible.
    Great activity!

  19. The 10 Most Terrifying Things About 2 In 1 Stroller And Car Seat 2 in 1 stroller And car seat

  20. toto4d表示:

    Don’t Make This Silly Mistake On Your Togel4d toto4d

  21. Yxhsm.Net表示:

    15 Unexpected Facts About Car Key Reprogramming You’ve Never Seen Programming Car Key (Yxhsm.Net)

  22. Thanks for your personal marvelous posting! I truly enjoyed reading it,
    you could be a great author.I will be sure to bookmark your
    blog and will come back at some point. I want to encourage that you continue
    your great posts, have a nice afternoon!

  23. Jamesnuali表示:

    Found an article with some unique perspectives—take a look http://tvmig.ru/exit.php?url=http://rosseia.flybb.ru/viewtopic.php?f=2&t=518

  24. Hi there, yes this article is genuinely fastidious and I have learned lot
    of things from it about blogging. thanks.

發佈留言

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