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,232,843 Responses

  1. Davidtes表示:

    tamoxifen breast cancer prevention where to buy nolvadex alternative to tamoxifen

  2. WilliamRhype表示:

    https://ciprofloxacin.tech/# buy cipro online canada

  3. RandallTaulp表示:

    zestril no prescription: lisinopril cost canada – buy lisinopril online usa

  4. Davidtes表示:

    cipro ciprofloxacin ciprofloxacin generic price cipro

  5. Workers Compensation Law: What Nobody Is Discussing workers’ compensation attorney
    (http://Mspeech.kr/)

  6. NathanRes表示:

    МВД оценило ущерб от финансовой пирамиды Life is Good
    порно жесток
    Жертвы финансовой пирамиды Life is Good понесли ущерб в сумме на 15 млрд рублей, оценило МВД. Пострадали больше 18 000 человек. Ущерб от другой рухнувшей пирамиды Finiko оценивался примерно втрое меньше. В отношении основателя Life is Good завели 13 уголовных дел
    Организаторы финансовой пирамиды Life is Good в регионах России причинили пострадавшим вкладчикам ущерб в сумме на 15 млрд рублей, сообщила официальный представитель МВД Ирина Волк. По информации МВД, жертвами пирамиды стали больше 18 000 человек.

    Из похищенных денег 158,5 млн рублей лидер пирамиды легализовал путем покупки недвижимости в Санкт-Петербурге и Ленинградской области, отметила Волк. В отношении организатора пирамиды возбуждено 13 уголовных дел по признакам отмывания денег, полученных преступным путем (часть 4 статьи 174.1 Уголовного кодекса, до семи лет лишения свободы). Организатора подозревают в организации преступного сообщества, деятельности финансовой пирамиды и мошенничестве.
    Пирамида работала с 2014 года в нескольких регионах России, организаторы создали сеть филиалов под единым брендом. Участникам обещали новое жилье либо доход в размере до 25% годовых. Инвестированием вкладов организаторы схемы не занимались: покупка недвижимости и обещанные выплаты осуществляли за счет привлечения денег новых клиентов, отметила Волк. Работу финансовой пирамиды МВД пресекло в марте 2022 года. Четверо подозреваемых арестованы, еще пятеро, включая 53-летнего организатора сообщества, объявлены в розыск. На тот момент министерство оценивало число пострадавших в 12 000 людей, сумму ущерба — не менее чем в 9 млрд рублей.
    Ирина Волк не назвала имя организатора Life is Good. В апреле 2022 года министерство объявило в розыск «по статье УК» Романа Василенко — он и есть основатель Life is Good, писало «РИА Новости». На странице Романа Василенко в LinkedIn (соцсеть заблокирована в России) говорится, что он с 2004 года занимает должность президента Life is Good Ltd. Он выпускник Ярославского высшего военного финансового училища и автор книги «Мечта, цель, успех предпринимателя».

    Ущерб от другой крупной финансовой пирамиды Finiko МВД оценивало в 5 млрд рублей, число потерпевших — примерно 10 000. В декабре 2022 года источники казанского издания «Бизнес Online» сообщили, что сумма ущерба сократилась в 30 раз до лишь 179,6 млн рублей, а число пострадавших — до 160.

  7. You’ll Never Guess This Treadmills Home Gym’s Tricks treadmills Home gym

  8. Don’t Be Enticed By These “Trends” Concerning Program
    A Key cheap car key Programming

  9. 5 Reasons To Be An Online Volvo Key Fob Shop And 5 Reasons Why You Shouldn’t volvo v50 key replacement

  10. Ronaldpsymn表示:

    https://finasteride.store/# cost propecia no prescription

  11. You’ll Never Guess This Greenpower Electric Scooters’s Tricks power electric scooter [elearnportal.Science]

  12. Good forum posts, Thanks.

  13. RandallTaulp表示:

    ciprofloxacin generic price: ciprofloxacin order online – ciprofloxacin

  14. How Much Do Semi Truck Lawyer Experts Earn? semi Truck accident attorney

  15. L30 Dreame表示:

    Guide To L30 Dreame: The Intermediate Guide On L30 Dreame L30 Dreame

  16. WilliamRhype表示:

    https://nolvadex.life/# low dose tamoxifen

  17. Davidtes表示:

    lisinopril price comparison lisinopril sale cheap lisinopril

  18. WilliamRhype表示:

    http://cytotec.club/# purchase cytotec

  19. What Is Scooters For Sale Mobility And Why Is Everyone Talking
    About It? livewell Mobility scooters For sale

  20. Lamont表示:

    What’s The Job Market For Volkswagen Keys Replacement Professionals?
    volkswagen keys – Lamont,

  21. RandallTaulp表示:

    tamoxifen cancer: tamoxifen therapy – tamoxifen for men

  22. WilliamRhype表示:

    https://cytotec.club/# buy cytotec over the counter

  23. Chanda表示:

    The History Of Leeds Windows And Doors double glazed
    doors repairs; Chanda,

  24. WilliamRhype表示:

    http://finasteride.store/# buying propecia no prescription

  25. Davidtes表示:

    lisinopril pill buy lisinopril online no prescription india zestril 10 mg tablet

  26. Davidtes表示:

    buy cytotec in usa cytotec pills buy online buy cytotec

  27. What Are The Myths And Facts Behind Window Repair Leeds upvc door lock repair leeds (https://www.98e.Fun/space-uid-7422264.html)

  28. I wɑs recommended this web site by my cousіn.
    I ɑm not sure whether this pⲟst is ᴡritten by himm as no one else knokw such
    detailed about mү problem. You’re wonderful!
    Thanks!

    Αⅼso visit my web site … kunjungi website kami

  29. Stephany表示:

    What’s The Job Market For Private Psychiatrist Birmingham Professionals Like?

    private psychiatrist birmingham (Stephany)

發佈留言

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