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,609,932 Responses

  1. Danieldrymn表示:

    prinivil 20 mg cost: lisinopril 2 5 mg tablets – Lisin Express

  2. Richardaudit表示:

    http://amonlinepharm.com/# can we buy amoxcillin 500mg on ebay without prescription

  3. Uazrpye表示:

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

  4. BrianTom表示:

    amoxicillin 775 mg AmOnlinePharm amoxicillin pharmacy price

  5. Richardaudit表示:

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

  6. Uazrzgi表示:

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

  7. Medicine information for patients. Long-Term Effects.
    can you buy dramamine tablets
    Some trends of drugs. Read information here.

  8. Uazruat表示:

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

  9. Michaelscoob表示:

    ZithPharmOnline: zithromax 250 mg australia – ZithPharmOnline

  10. LanceFen表示:

    can you buy clomid without prescription: clomid cheap – can i buy generic clomid now

  11. BrianTom表示:

    Lisin Express Lisin Express zestoretic price

  12. Cazrwkk表示:

    Приобрести диплом о высшем образовании!
    Мы готовы предложить документы ВУЗов, которые находятся в любом регионе РФ. Дипломы и аттестаты делаются на “правильной” бумаге самого высокого качества: globalscaffolders.com/employer/aurus-diploms

  13. Sazrxaw表示:

    Приобрести диплом об образовании!
    Приобрести диплом университета по выгодной стоимости вы можете, обращаясь к проверенной специализированной фирме. Приобрести диплом о высшем образовании: fastdiploms.com/kupit-diplom-s-provodkoj-podlinnij-dokument-goznak

  14. If you would like to take a great deal from this paragraph
    then you have to apply these techniques to your won web site.

  15. I have аϲtualⅼy been making use of TonicGreens
    for a few months currently, aand the outcomes are fantastic!
    My energy levels have actually ѕkyrocketed, and I
    really feel extra concentrated tһrougһout the day.
    Plus, my body immune system feels moore powerful than ever before.
    Extremelу advise thiѕ supрlement to аnybody seeking
    to enhance their general health and wellness!

    Mү webpаցe: Discover The Benefits Of Tonicgreens

  16. Danieldrymn表示:

    generic zithromax 500mg india: zithromax tablets for sale – ZithPharmOnline

  17. dragon money официальный сайт dragon money официальный сайт .

  18. LanceFen表示:

    prednisone 40mg: canadian online pharmacy prednisone – Pred Pharm Net

  19. Tubidy表示:

    There is certainly a great deal to know about this issue.

  20. LanceFen表示:

    ZithPharmOnline: zithromax 500 mg lowest price pharmacy online – purchase zithromax z-pak

  21. 1win_tter表示:

    что такое 1win http://1win6053.ru .

  22. Richardaudit表示:

    http://amonlinepharm.com/# where can i buy amoxicillin over the counter uk

  23. Strategi Terbaik Bermain Gold Factory Jackpot di Jaya4D untuk Pemula dan Pro

  24. DarylFerma表示:

    На сайте films2025.my вы можете смотреть новинки кино 2025 года абсолютно бесплатно. Удобная навигация по жанрам — от комедий и боевиков до фантастики и семейных фильмов — позволяет быстро найти интересующую вас картину. Все фильмы доступны в высоком качестве HD и без регистрации. Отличный выбор для вечернего просмотра тут

  25. BrianTom表示:

    Clom Fast Pharm Clom Fast Pharm Clom Fast Pharm

  26. LanceFen表示:

    Pred Pharm Net: 20 mg of prednisone – prednisone 20 mg

發佈留言

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