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,523,905 Responses

  1. tips tech表示:

    Regards! Very good stuff.

  2. Permis D表示:

    Why Is Driving License Price 2024 So Famous? Permis D

  3. WillieRap表示:

    xxl mexican pharm: mexican mail order pharmacies – buying from online mexican pharmacy

  4. WillieRap表示:

    Online medicine order: top 10 online pharmacy in india – online shopping pharmacy india

  5. WillieRap表示:

    xxl mexican pharm: best online pharmacies in mexico – medication from mexico pharmacy

  6. ГетХ表示:

    GetX Casino — это онлайн-казино нового поколения! Вас ждут популярные слоты, рулетку, покер и блэкджек, а также уникальные бонусные предложения, которые делают игру еще увлекательнее. https://getx-casinobliss.wiki/.

    Почему тысячи игроков выбирают GetX Casino?

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

    Начните играть прямо сейчас и испытайте свою удачу сегодня!

  7. Rodneytus表示:

    dark web sites https://github.com/darkwebmarketslinks/darkwebmarkets – dark web sites deep web drug links

  8. Michaelkig表示:

    darknet drugs https://github.com/darknetmarkets2025/darknetmarketlinks – darknet market links how to get on dark web

  9. Davidmoits表示:

    Mega India Pharm: Mega India Pharm – Mega India Pharm

  10. Porterfax表示:

    xxl mexican pharm mexican drugstore online xxl mexican pharm

  11. Rodneytus表示:

    bitcoin dark web https://github.com/darkwebmarketslinks/darkwebmarkets – dark market list dark market url

  12. Lottie表示:

    Hi, I do think this is an excellent web site. I stumbledupon it
    😉 I am going to revisit yet again since i have bookmarked it.
    Money and freedom is the greatest way to change, may you be rich and continue to help other people. http://Quinnramberg.com/__media__/js/netsoltrademark.php?d=Esdoors.Co.kr%2Fbbs%2Fboard.php%3Fbo_table%3Dfree%26wr_id%3D634120

  13. MichaelIncap表示:

    dark web links https://github.com/darknetmarketslinks/darknetmarketlinks – tor market url darkmarket list

  14. Facing financial hardship? fighting to keep up with rent payments can be a terrifying experience.
    Thankfully, Riverside offers numerous resources accessible to help residents in need.
    A multitude of organizations and programs
    stand ready to provide aid, ensuring no one faces eviction alone.

  15. Guide To 30ft Shipping Containers: The Intermediate Guide
    To 30ft Shipping Containers 30ft shipping container (gratisafhalen.be)

  16. MarkWat表示:

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

  17. Lydia Barnes表示:

    Your insights on First Aid Training Brisbane are area on! It’s not just for specialists; every person can benefit from it CPR Course Brisbane

  18. Charleskepsy表示:

    online pharmacy without prescription http://megaindiapharm.com/# MegaIndiaPharm

  19. See What Alex The African Grey Parrot Tricks The Celebs Are Utilizing
    alex the african grey parrot

  20. Michaelkig表示:

    the dark internet https://github.com/darknetmarkets2025/darknetmarketlinks – deep web drug markets darknet market lists

  21. Porterfax表示:

    Best online pharmacy Online pharmacy USA Best online pharmacy

  22. MarkWat表示:

    Приветствую. Может кто знает, где найтиразные блоги о займах? Пока нашел – billum-zaim.ru

  23. funsilo.date表示:

    Pallet Wood For Sale Tips To Relax Your Daily Life Pallet Wood For Sale Trick That Every Person Should Be Able
    To pallet wood for sale; funsilo.date,

  24. MichaelGeony表示:

    canadian pharmacy no prescription http://familypharmacy.company/# Cheapest online pharmacy

  25. MichaelIncap表示:

    darknet websites https://github.com/darknetmarketslinks/darknetmarketlinks – deep web drug markets free dark web

  26. Попасть РІ РјРёСЂ гемблинга ещё РЅРµ представлялось так просто! Узнайте как произвести регистрацию Рё РІС…РѕРґ РІ самые популярные онлайн казино уже сегодня. Здесь РѕР±СЉСЏСЃРЅРёРј **РўРѕРї Рейтинг Казино** РїСЂРѕ понятных шагах, необходимых для старта гейминга Рё получения множества приятных ощущений. Забудьте РїСЂРѕ сложных процедурах – данный путеводитель сделает авторизацию самым оперативным Рё комфортным. Радуйтесь эмоциями РЅРµ испытывая излишних задержек!

  27. Charleskepsy表示:

    prescription drugs from canada https://easycanadianpharm.com/# easy canadian pharm

  28. WillieRap表示:

    easy canadian pharm: easy canadian pharm – easy canadian pharm

發佈留言

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