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,013,322 Responses

  1. 9 Things Your Parents Teach You About Upvc Window Repair Near Me Window Repair Near Me

  2. lgbt porn表示:

    untrustable

  3. Online Baccarat Glossary, Baccarat Terminology 프라그마틱 플레이 (http://www.urashimi.com)

  4. Guide To Upvc Repairs Near Me: The Intermediate Guide To Upvc
    Repairs Near Me upvc repairs near me (http://www.webcatalog.Co.Kr/)

  5. Vincenthit表示:

    В чёрный список пирамид и лохотронов 31 августа 2022 года внесены следующие организации, обладающие признаками финансовой пирамиды или признаками мошенничества.
    анальный секс смотреть
    Etihad Rail (etihadrail-ae.com)

    Club Unite To Live, Life Is Good, Unite To Live (uniteto.live). Новый домен пирамиды находящегося в розыске Романа Василенко.

    TopBoom, «платформа хедж-фонда, специализирующегося на сделках с обратным исходом спортивного события» (topboom.vip, t.me/TopBoom001)

    Change Team, мошенники указывают реквизиты чужого юрлица ООО «АТТИС ГРУПП» (ОРГН 1207700314128, ИНН 9702022065), телеграм-канал «Change Team: Главный Канал» (change-team.ru). Фальшивый обменник раньше назывался C Exchange.
    Ещё лохотроны:
    Scam! Чёрный список пирамид и лохотронов и отзывы

    В чёрный список пирамид и лохотронов включены организации, имеющие признаки финансовой пирамиды по классификации Центрального банка; организации, обладающие признаками матричной пирамиды (массовый привод друзей, «столы»); сборы денег с пенсионеров и прочих незащищённых слоёв населения; хайпы; организации, имеющие негативные отзывы; структуры, оказывающие финансовые услуги без лицензии и прочие лохотроны за исключением псевдоброкеров, кооперативов (с ними тоже не рекомендуем связываться) и некоторых других категорий.

  6. Hi there! I’m at work browsing your blog from my new iphone!

    Just wanted to say I love reading your blog and look forward to
    all your posts! Keep up the outstanding work!

  7. Приветствую. Подскажите, где найти разные блоги о недвижимости? Сейчас читаю https://titovloft.ru

  8. Undeniable Proof That You Need Double Glazing Supplies Near Me Repair Double Glazing Windows

  9. hey表示:

    Have you ever considered about adding a little bit more than just your articles?
    I mean, what you say is important and all. Nevertheless imagine if you added
    some great images or video clips to give your posts more, “pop”!
    Your content is excellent but with images and clips, this
    website could certainly be one of the most beneficial in its niche.
    Good blog!

  10. Five Killer Quora Answers To Replacement Double Glazing Units Near Me replacement double glazing units near me

  11. Приветствую. Подскажите, где найти разные блоги о недвижимости? Пока нашел https://titovloft.ru

  12. Приветствую. Может кто знает, где почитать разные статьи о недвижимости? Пока нашел https://titovloft.ru

  13. Pills information for patients. Short-Term Effects.
    cost cheap acyclovir without rx
    Best information about medicament. Read now.

  14. PedroNup表示:

    Магазин металлов с цветных и чёрных металлов “STORM”
    https://stormbrand.ru/

  15. PedroNup表示:

    Магазин заготовок изо цветных и чёрных металлов “STORM”
    https://stormbrand.ru/

  16. PedroNup表示:

    Интернет магазин заготовок изо разноцветных и чёрных металлов “STORM”
    https://stormbrand.ru/

  17. Medication information. Brand names.
    cost digoxin online
    Best what you want to know about drug. Read information now.

  18. Stevepsymn表示:

    В чёрный список пирамид и лохотронов 31 августа 2022 года внесены следующие организации, обладающие признаками финансовой пирамиды или признаками мошенничества.
    геи жестко
    Etihad Rail (etihadrail-ae.com)

    Club Unite To Live, Life Is Good, Unite To Live (uniteto.live). Новый домен пирамиды находящегося в розыске Романа Василенко.

    TopBoom, «платформа хедж-фонда, специализирующегося на сделках с обратным исходом спортивного события» (topboom.vip, t.me/TopBoom001)

    Change Team, мошенники указывают реквизиты чужого юрлица ООО «АТТИС ГРУПП» (ОРГН 1207700314128, ИНН 9702022065), телеграм-канал «Change Team: Главный Канал» (change-team.ru). Фальшивый обменник раньше назывался C Exchange.
    Ещё лохотроны:
    Scam! Чёрный список пирамид и лохотронов и отзывы

    В чёрный список пирамид и лохотронов включены организации, имеющие признаки финансовой пирамиды по классификации Центрального банка; организации, обладающие признаками матричной пирамиды (массовый привод друзей, «столы»); сборы денег с пенсионеров и прочих незащищённых слоёв населения; хайпы; организации, имеющие негативные отзывы; структуры, оказывающие финансовые услуги без лицензии и прочие лохотроны за исключением псевдоброкеров, кооперативов (с ними тоже не рекомендуем связываться) и некоторых других категорий.

  19. En iyi kumarhanelerde sans?n?z? deneyin Sweet bonanza

  20. rama表示:

    I have express a few of the articles on your website now, and I really like your style of blogging. I added it to my favorite’s blog site list and will be checking back soon…

  21. Drug information sheet. Drug Class.
    how to get cheap warfarin without rx
    Actual what you want to know about medication. Get here.

  22. PedroNup表示:

    Магазин металлов из разноцветных и чёрных металлов “STORM”
    https://stormbrand.ru/

  23. I’ve been browsing online greater than three hours today, but I by no means found any fascinating
    article like yours. It’s lovely worth sufficient for me.

    In my opinion, if all webmasters and bloggers made just right content as you probably did, the net
    will be much more useful than ever before.

  24. Всем привет! Подскажите, где почитать полезные статьи о недвижимости? Сейчас читаю https://titovloft.ru

  25. PedroNup表示:

    Магазин заготовок изо разноцветных и чёрных металлов “STORM”
    https://stormbrand.ru/

  26. Medicine prescribing information. Cautions.
    cost of generic levitra price
    All news about medicament. Get now.

  27. PedroNup表示:

    Магазин заготовок с разноцветных (а) также чёрных металлов “STORM”
    https://stormbrand.ru/

發佈留言

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