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,634,743 Responses

  1. BrianTom表示:

    AmOnlinePharm AmOnlinePharm amoxicillin 500mg

  2. Danieldrymn表示:

    Lisin Express: Lisin Express – lisinopril 10mg tablet

  3. Hello, I wish for to subscribe for this web
    site to take latest updates, therefore where can i do it please help out.

  4. can i order generic doxycycline order doxycycline capsules online where buy doxycycline prices
    how to get cheap doxycycline without dr prescription where buy cheap doxycycline pills how to get doxycycline no prescription
    cheapest place to buy doxycycline uk
    doxycycline malaria tablets buy buy doxycycline uk where can i buy doxycycline in singapore
    doxycycline mr 40mg buying doxycycline tablets doxycycline capsules buy usa online

  5. Richardaudit表示:

    https://clomfastpharm.com/# Clom Fast Pharm

  6. 1win_sjsn表示:

    1win регистрация 1win регистрация .

  7. Richardaudit表示:

    http://clomfastpharm.com/# Clom Fast Pharm

  8. mostbet_goEi表示:

    мостбет промокод http://mostbet6030.ru/ .

  9. Uazreys表示:

    Привет!
    Для некоторых людей, заказать диплом о высшем образовании – это необходимость, шанс получить достойную работу. Но для кого-то – это желание не терять время на учебу в институте. Что бы ни толкнуло вас на это решение, наша фирма готова помочь. Оперативно, профессионально и по разумной стоимости сделаем документ любого года выпуска на настоящих бланках с реальными печатями.
    Основная причина, почему многие люди прибегают к покупке документа, – получить определенную работу. Например, знания дают возможность человеку устроиться на желаемую работу, однако документального подтверждения квалификации не имеется. При условии, что для работодателя важно присутствие “корочки”, риск потерять место работы достаточно высокий.
    Приобрести документ института можно в нашем сервисе. Мы предлагаем документы об окончании любых ВУЗов Российской Федерации. Вы получите необходимый диплом по любой специальности, включая документы Советского Союза. Даем 100% гарантию, что при проверке документов работодателями, никаких подозрений не возникнет.
    Ситуаций, которые вынуждают купить диплом ВУЗа много. Кому-то очень срочно нужна работа, и нужно произвести особое впечатление на начальника в процессе собеседования. Некоторые планируют попасть в престижную компанию, чтобы повысить собственный статус в социуме и в последующем начать свой бизнес. Чтобы не тратить драгоценное время, а сразу начинать успешную карьеру, используя имеющиеся навыки, можно заказать диплом в интернете. Вы станете полезным в обществе, обретете денежную стабильность очень быстро и просто- купить диплом о среднем образовании

  10. ArdenExive表示:

    Encountered a thought-provoking article, highly recommend http://engineerring.net/employer/meloua/

  11. Cazrxsw表示:

    Заказать диплом ВУЗа!
    Мы можем предложить документы университетов, расположенных на территории всей Российской Федерации. Дипломы и аттестаты печатаются на “правильной” бумаге самого высокого качества: prikol100500.ru/kupit-diplom-s-podtverzhdeniem-rabotaem-s-vuzami-i-kolledzhami

  12. My spouse and I stumbled over here by a different website and thought I may as well
    check things out. I like what I see so i am just following you.

    Look forward to looking into your web page again.

  13. Uazrmaf表示:

    Привет!
    Для определенных людей, заказать диплом университета – это острая необходимость, шанс получить достойную работу. Но для кого-то – это банальное желание не терять время на учебу в ВУЗе. С какой бы целью вам это не потребовалось, мы готовы помочь. Оперативно, профессионально и по доступной цене изготовим диплом нового или старого образца на государственных бланках с реальными печатями.
    Основная причина, почему многие люди покупают документ, – желание занять определенную должность. Например, знания дают возможность человеку устроиться на работу, но подтверждения квалификации не имеется. В том случае если для работодателя важно наличие “корочки”, риск потерять хорошее место очень высокий.
    Купить документ ВУЗа можно у нас. Мы оказываем услуги по производству и продаже документов об окончании любых ВУЗов России. Вы сможете получить необходимый диплом по любой специальности, включая документы старого образца. Даем гарантию, что в случае проверки документа работодателем, подозрений не возникнет.
    Обстоятельств, которые вынуждают заказать диплом ВУЗа достаточно. Кому-то очень срочно необходима работа, и необходимо произвести впечатление на руководителя при собеседовании. Другие мечтают попасть в серьезную компанию, для того, чтобы повысить собственный статус в обществе и в дальнейшем начать свой бизнес. Чтобы не терять драгоценное время, а сразу начать удачную карьеру, используя имеющиеся знания, можно купить диплом прямо в онлайне. Вы сможете быть полезным для общества, получите финансовую стабильность в максимально короткий срок- диплом купить о высшем образовании

  14. BrianTom表示:

    buy amoxicillin 250mg AmOnlinePharm AmOnlinePharm

  15. LanceFen表示:

    AmOnlinePharm: amoxil generic – order amoxicillin online uk

  16. BrianTom表示:

    where to get zithromax over the counter zithromax online pharmacy canada ZithPharmOnline

  17. Sazrgnf表示:

    Купить диплом об образовании!
    Купить диплом ВУЗа по выгодной стоимости возможно, обращаясь к проверенной специализированной фирме. Заказать диплом о высшем образовании: vuz-diplom.ru/diplom-v-reestr-legalnoe-zanesenie-garantiya-2

  18. Michaelscoob表示:

    prednisone 5 mg tablet rx: generic prednisone cost – Pred Pharm Net

  19. LanceFen表示:

    Pred Pharm Net: prednisone canada – Pred Pharm Net

  20. Richardaudit表示:

    https://zithpharmonline.com/# zithromax 250 price

  21. 1win_xusn表示:

    1win ставки официальный сайт http://1win6005.ru .

  22. Michaelscoob表示:

    can you buy cheap clomid without insurance: Clom Fast Pharm – Clom Fast Pharm

  23. audit serices表示:

    I’m extremely pleased to uncover this website.
    I wanted to thank you for ones time just for this fantastic
    read!! I definitely really liked every bit of it and I have you saved as a favorite to look at new things on your site.

  24. I nevrr thought I’d get aesthetic treatments, but after meeting Dr Laura, Iknew Ι wɑs in safe hands.
    She’s soo gentle, professional, аnd knowledgeable. My Botox rеsults are
    incredible!

    Feel frere tߋ visit mү site :: l’oreal sublime
    bronze (http://makingmemorieslondon.com)

  25. Madgicx表示:

    Greetings from Ohio! I’m bored to death at work so I decided to check out your website on my iphone during lunch break.

    I love the information you provide here and can’t wait to take a look when I get home.
    I’m shocked at how fast your blog loaded on my phone ..
    I’m not even using WIFI, just 3G .. Anyways, great blog!

  26. Somebody essentially lend a hand to make significantly articles I
    would state. That is the first time I frequented your web page and so far?
    I surprised with the analysis you made to create this particular post amazing.
    Excellent activity!

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

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