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,591,423 Responses

  1. mostbetnbSi表示:

    Погрузитесь в мир ставок и азартных игр с Мостбет | Удобные условия для ставок с Мостбет в Казахстане | Игровые автоматы, покер и многое другое на Мостбет | Простая регистрация на Мостбет с бонусом за первое пополнение | Большой выбор игр для каждого игрока на Мостбет | Играйте в любые азартные игры на Мостбет с бонусами | Качественные слоты и быстрые выплаты на Мостбет | Надёжный доступ к играм через приложение Мостбет | Всё для азартных игр и ставок – Мостбет, Mostbet скачать бесплатно [url=https://mostbetkzcasino.kz]Mostbet apk бесплатно[/url].

  2. mostbetzqSi表示:

    Играйте в лучшем онлайн казино Казахстана – Мостбет | Мостбет – официальный сайт с высоким рейтингом доверия | Азартные игры с быстрыми выплатами – только на Мостбет | Все ставки и азартные игры в одном приложении – Мостбет | Зарегистрируйтесь на Мостбет и получите бонус на ставки | Найдите выгодные ставки на спорт в Казахстане с Мостбет | Безопасные ставки на спорт с Мостбет | Ставьте на спорт и киберспорт с Мостбет в Казахстане | Азартные игры с удобной навигацией – Мостбет, Mostbet зеркало рабочее [url=http://mostbetkzcasino.kz/]Mostbet рабочее зеркало[/url].

  3. www.google.Ci表示:

    What NOT To Do With The Pragmatic Casino Industry 프라그마틱 무료 슬롯버프 (http://www.google.Ci)

  4. mostbetmeSi表示:

    Присоединяйтесь к Мостбет и выигрывайте реальные деньги | Здесь можно найти самые популярные слоты и игры – на Мостбет | Мостбет – это качество и надёжность для всех игроков | Простая регистрация на Мостбет с бонусом за первое пополнение | Мостбет предлагает лучшие слоты для вашего удовольствия | Откройте для себя лучшие игровые автоматы на Мостбет | Регистрируйтесь и забирайте свой бонус на Мостбет | Официальный сайт Мостбет – ваш надёжный букмекер | Выбирайте Мостбет и выигрывайте с комфортом, Mostbet сайт [url=https://mostbetkzcasino.kz]Mostbet.com[/url].

  5. The Reason You Shouldn’t Think About How To Improve Your Double Glazing Showrooms Near
    Me replacement glass in double glazing (Nagievonline.Com)

  6. LeroyBak表示:

    shots for ed cheap meds ed and diabetes

  7. Williamagric表示:

    cvs prescription prices without insurance http://indianpharm24.pro/# Online medicine home delivery

  8. mostbetfqSi表示:

    Ставки на спорт с выгодными условиями только на Мостбет | Удобные условия для ставок с Мостбет в Казахстане | Мостбет – это качество и надёжность для всех игроков | Скачайте приложение Мостбет на iOS и Android бесплатно | Ставьте на спорт и участвуйте в акциях от Мостбет | Ставки и игры с надёжным сервисом – только на Мостбет | Качественные слоты и быстрые выплаты на Мостбет | Ставки на спорт с лучшими коэффициентами в Казахстане | Ваши лучшие ставки с Мостбет Казахстан, Мостбет ставки онлайн ставки на Мостбет.

  9. LeroyBak表示:

    mexican drugstore online mexico pharmacy cheap reputable mexican pharmacies online

  10. Five Killer Quora Answers To Retro American Fridge Freezer retro american fridge freezer

  11. Diplomi_jbka表示:

    купить дипломы о среднем купить дипломы о среднем .

  12. Williamagric表示:

    ed men http://mexicanpharm24.cheap/# mexican pharmaceuticals online

  13. BrandonSaisy表示:

    buy prescription drugs from india: India pharmacy international – cheapest online pharmacy india

  14. mostbetkxSi表示:

    Играйте в лучшем онлайн казино Казахстана – Мостбет | Удобные условия для ставок с Мостбет в Казахстане | Азартные игры с быстрыми выплатами – только на Мостбет | Простая регистрация на Мостбет с бонусом за первое пополнение | Ставьте на спорт и участвуйте в акциях от Мостбет | Проверьте свои шансы в слотах Мостбет | Пользуйтесь всеми функциями мобильного приложения Мостбет | Играйте в слоты и выигрывайте реальные деньги на Мостбет | Попробуйте рабочее зеркало Мостбет прямо сейчас, онлайн казино Мостбет казино Мостбет.

  15. What’s The Reason Everyone Is Talking About Corner Fabric Sofas Right Now Corner Fabric Couch

  16. Jorgeagopy表示:

    indian pharmacy: indian pharm 24 – online shopping pharmacy india

  17. Spot on with this write-up, I honestly believe that this website
    needs much more attention. I’ll probably be back again to see
    more, thanks for the information!

  18. Jorgeagopy表示:

    mexican drugstore online: mexico pharmacy – п»їbest mexican online pharmacies

  19. macauslot88表示:

    This is the perfect site for anyone who really wants to find out about this topic.
    You understand a whole lot its almost hard to argue with you (not that I
    personally would want to…HaHa). You definitely
    put a fresh spin on a subject which has been written about for decades.
    Wonderful stuff, just great!

  20. mostbetxtSi表示:

    Ищете надёжное казино в Казахстане? Попробуйте Мостбет! | Здесь можно найти самые популярные слоты и игры – на Мостбет | Ищете рабочее зеркало Мостбет? Мы готовы помочь! | Весь спектр казино игр доступен в приложении Мостбет | Мостбет предлагает лучшие слоты для вашего удовольствия | Казино и ставки на спорт в одном приложении – Мостбет | Регистрируйтесь и забирайте свой бонус на Мостбет | Мостбет – это ваш путь к крупным выигрышам | Выбирайте Мостбет и выигрывайте с комфортом, рабочее зеркало Mostbet Мостбет зеркало.

  21. LeroyBak表示:

    vitamins for ed low cost pharmacy drugs and medications

  22. mostbetivSi表示:

    Ищете надёжное казино в Казахстане? Попробуйте Мостбет! | Скачайте приложение Мостбет для удобного доступа к ставкам | Регистрируйтесь и начните зарабатывать с Мостбет | Весь спектр казино игр доступен в приложении Мостбет | Играйте в Мостбет с комфортом и надёжностью | Найдите выгодные ставки на спорт в Казахстане с Мостбет | Найдите свой любимый слот в казино Мостбет | Ставки на спорт с лучшими коэффициентами в Казахстане | Получите доступ к лучшим играм на Мостбет, онлайн казино Мостбет казино Мостбет.

  23. 2 Seater Fabric Sofa Tips To Relax Your Everyday
    Lifethe Only 2 Seater Fabric Sofa Trick That Should Be Used By Everyone Know 2 Seater fabric Sofa

  24. Williamagric表示:

    ed meds online https://pharm24.pro/# medications list

  25. 7 Things About Get Car Key Cut You’ll Kick Yourself For Not Knowing Car Key Cutting

  26. Brent表示:

    The 10 Most Terrifying Things About Espresso Coffee Beans 1kg espresso coffee beans 1kg (Brent)

  27. Jorgeagopy表示:

    mexican rx online: mexican drugs – mexican online pharmacies prescription drugs

  28. How To Explain Door Fitter Bromley To Your Grandparents
    Window fitter bromley

  29. Diplomi_ydOl表示:

    купить диплом в туле diplomdarom.ru .

發佈留言

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