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,686,519 Responses

  1. DavidCooth表示:

    http://preman69.tech/# Slot dengan tema film terkenal menarik banyak perhatian

  2. check my blog表示:

    Hey very nice blog!

  3. Aaronbus表示:

    slot88.company slot 88 Kasino di Indonesia menyediakan hiburan yang beragam

  4. prifawves表示:

    Програма для школярів спрямована на надання допомоги в оволодінні шкільною програмою з англійської мови та усунення причин неуспішності, подолання комунікаційного бар’єру та оволодіння достатнім словниковим запасом для спілкування англійською мовою вул. Сакко, 14 Комплексна підготовка до школи для вашої дитини. Мовлення, письмо, читання, математика, дрібна моторика підготовка до школи онлайн в Послуги освіти та спорту Дати можливість кожному користувачу сайту, вибрати найкращі й підходящі особисто йому підготовчі курси .
    https://www.weddingbee.com/members/httpscererra
    Наші репетитори польської знають в середньому 3 різні мови Вхід на сайт Репетитор польської мови, Миколаїв 3. Іноземна мова або Географія В останні кілька років попит на вивчення польської мови різко зріс. Однією з головних причин є заробітки – саме в Польщу виїжджають чимало українців, аби більше заробити. Є й інші мотиви: навчання, бажання переїхати до більш європейської країни та, звичайно ж, безпека через війну в Україні. Носії польська мови

  5. Dannyfut表示:

    darknet drug market darknet markets onion darknet websites

  6. Williecrady表示:

    Kasino mendukung permainan bertanggung jawab http://slot88.company/# Mesin slot sering diperbarui dengan game baru

  7. Aaronbus表示:

    garuda888.top garuda888 slot Kasino menawarkan pengalaman bermain yang seru

  8. Williecrady表示:

    Slot memberikan kesempatan untuk menang besar https://bonaslot.site/# Kasino menyediakan layanan pelanggan yang baik

  9. seo tools表示:

    Howdy excellent blog! Does running a blog such as this
    require a large amount of work? I have no understanding of programming
    however I had been hoping to start my own blog soon. Anyway,
    if you have any recommendations or tips for new blog owners please share.
    I understand this is off subject nevertheless I just had to ask.
    Kudos!

  10. Jual Besi Baja Terbaik Medan, Sinar Baja Murah
    Medan, Distributor Besi Baja Ter murah Medan, Agen Baja Terbaik Kota Medan, Besi Kota Medan

  11. Aaronbus表示:

    slot88 slot88.company Beberapa kasino memiliki area khusus untuk slot

  12. How Online Casinos Remain an International Sensation

    Digital casinos have changed the gambling scene, providing an exceptional degree of accessibility and variety that physical casinos don’t provide. Throughout the last ten years, countless gamblers internationally have chosen the excitement of online gaming thanks to its accessibility, captivating elements, and constantly growing game libraries.

    One of the key draws of online casinos is the unparalleled range of choices provided. Whether you are a fan of rolling classic slot machines, playing through plot-filled visual slot games, or playing smart in traditional table offerings like poker, casino websites offer countless possibilities. Numerous services furthermore include interactive dealer games, making it possible for you to participate with professional croupiers and co-players, all while experiencing the authentic ambiance of a physical gaming house in your own space.

    If you’re new with the world of virtual casino play or hope to explore trusted platforms, why not sign up for our lively interactive platform? It’s a platform where gaming aficionados offer experiences, making it easier for you to improve your gambling adventure. Join the connections and visit us now: aviator bet

    Adding to the extensive catalog, virtual gaming providers excel constant connectivity.

  13. Aaronbus表示:

    preman69 slot preman69 Beberapa kasino memiliki area khusus untuk slot

  14. This is a topic which is near to my heart…
    Cheers! Exactly where are your contact details though?

  15. ThomasThype表示:

    Banyak kasino memiliki promosi untuk slot: slot demo pg gratis – slotdemo

  16. DavidCooth表示:

    http://preman69.tech/# Banyak kasino memiliki promosi untuk slot

  17. read here表示:

    Appreciating the persistence you put into your website and in depth information you offer.
    It’s good to come across a blog every once in a while that isn’t the
    same old rehashed information. Great read! I’ve saved your site and I’m including
    your RSS feeds to my Google account.

  18. Dannyfut表示:

    darkmarket 2025 darknet websites darknet markets onion

  19. Aaronbus表示:

    garuda888 slot garuda888 Kasino di Jakarta memiliki berbagai pilihan permainan

  20. CyrusSpeve表示:

    Here’s a fresh article I thought you’d appreciate http://rosseia.flybb.ru/viewtopic.php?f=2&t=701&sid=ca00597993ebc7449b76cb49adbb6c25

  21. ThomasThype表示:

    Pemain harus memahami aturan masing-masing mesin: bonaslot.site – bonaslot.site

  22. Williecrady表示:

    Mesin slot digital semakin banyak diminati http://bonaslot.site/# Slot dengan tema budaya lokal menarik perhatian

  23. Dannyfut表示:

    darkmarkets darkmarkets dark web market list

  24. JamesLok表示:

    Bermain slot bisa menjadi pengalaman sosial https://garuda888.top/# Bermain slot bisa menjadi pengalaman sosial

  25. ThomasThype表示:

    Kasino sering mengadakan turnamen slot menarik: bonaslot – bonaslot

  26. Hi! Someone in my Myspace group shared this website with us so I came to check it out.
    I’m definitely loving the information. I’m bookmarking and will be tweeting this to my followers!
    Superb blog and fantastic design and style.

  27. DavidCooth表示:

    http://slotdemo.auction/# Banyak pemain menikmati jackpot harian di slot

  28. Android - hls表示:

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

    Переходите по ссылке для информации: https://ratemywifey.com/author/erinvandegr/

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

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

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

發佈回覆給「Brucecloky」的留言 取消回覆

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