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...

910,561 Responses

  1. Billyved表示:

    http://amoxila.pro/# can i buy amoxicillin online

  2. Billyved表示:

    https://doxycyclinea.online/# doxycycline online

  3. Billyved表示:

    http://doxycyclinea.online/# order doxycycline

  4. Charleselila表示:

    doxycycline 100mg: doxycycline without prescription – doxycycline prices

  5. Henryfet表示:

    over the counter amoxicillin canada: medicine amoxicillin 500 – amoxil generic

  6. What’s The Job Market For Window Doctor Near Me Professionals Like?
    window Doctor near me

  7. Henryfet表示:

    doxycycline tetracycline: doxycycline prices – doxycycline 100 mg

  8. Charleselila表示:

    zithromax purchase online: where can i buy zithromax medicine – where can i get zithromax

  9. آنابل表示:

    Hello! I know this is kinda off topic but I was wondering which blog platform are you using for this site?
    I’m getting tired of WordPress because I’ve had issues with
    hackers and I’m looking at alternatives for another
    platform. I would be awesome if you could point me in the
    direction of a good platform.

  10. MarvinRoave表示:

    amoxicillin pills 500 mg amoxicillin online canada buy amoxicillin 500mg canada

  11. Brigitte表示:

    20 Quotes Of Wisdom About Upvc Window Locks upvc windows repair
    (Brigitte)

  12. Richardorele表示:

    doxycycline 100mg: doxycycline 100mg price – doxycycline order online

  13. Billyved表示:

    http://zithromaxa.store/# zithromax coupon

  14. I think what you typed made a great deal of sense.

    But, think about this, what if you were to write a killer
    post title? I mean, I don’t want to tell you how to run your blog, but what if you added something
    that grabbed people’s attention? I mean JS 依照元素出現數量排序 – 馬老師 雲端研究室 is a little vanilla.

    You might look at Yahoo’s home page and see how they write article titles
    to get people interested. You might add a related video or a related picture or two to grab people excited about what you’ve got to say.
    Just my opinion, it might make your website a little bit more
    interesting.

  15. Who’s The World’s Top Expert On Most Comfortable Sectional Sofa?
    sofasandcouches

  16. MarvinRoave表示:

    buy prednisone without a prescription best price compare prednisone prices prednisone 20mg

  17. 1lpenistrGed表示:

    Лендинг-пейдж — это одностраничный сайт, предназначенный для рекламы и продажи товаров или услуг, а также для сбора контактных данных потенциальных клиентов. Вот несколько причин, почему лендинг-пейдж важен для бизнеса:
    Увеличение узнаваемости компании. Лендинг-пейдж позволяет представить компанию и её продукты или услуги в выгодном свете, что способствует росту узнаваемости бренда.
    Повышение продаж. Заказать лендинг можно здесь – 1landingpage.ru Одностраничные сайты позволяют сосредоточиться на конкретных предложениях и акциях, что повышает вероятность совершения покупки.
    Оптимизация SEO-показателей. Лендинг-пейдж создаются с учётом ключевых слов и фраз, что улучшает позиции сайта в результатах поиска и привлекает больше целевых посетителей.
    Привлечение новой аудитории. Одностраничные сайты могут использоваться для продвижения новых продуктов или услуг, а также для привлечения внимания к определённым кампаниям или акциям.
    Расширение клиентской базы. Лендинг-пейдж собирают контактные данные потенциальных клиентов, что позволяет компании поддерживать связь с ними и предлагать дополнительные услуги или товары.
    Простота генерации лидов. Лендинг-пейдж предоставляют краткую и понятную информацию о продуктах или услугах, что облегчает процесс принятия решения для потенциальных клиентов.
    Сбор персональных данных. Лендинг-пейдж позволяют собирать информацию о потенциальных клиентах, такую как email-адрес, имя и контактные данные, что помогает компании лучше понимать свою аудиторию и предоставлять более персонализированные услуги.
    Улучшение поискового трафика. Лендинг-пейдж создаются с учётом определённых поисковых запросов, что позволяет привлекать больше целевых посетителей на сайт.
    Эффективное продвижение новой продукции. Лендинг-пейдж можно использовать для продвижения новых товаров или услуг, что позволяет привлечь внимание потенциальных клиентов и стимулировать их к покупке.
    Лёгкий процесс принятия решений. Лендинг-пейдж содержат только самую необходимую информацию, что упрощает процесс принятия решения для потенциальных клиентов.
    В целом, лендинг-пейдж являются мощным инструментом для продвижения бизнеса, увеличения продаж и привлечения новых клиентов.

    заказать лендинг пейдж

  18. Nine Things That Your Parent Teach You About Spare Keys Cut Spare Keys Cut

  19. Woah! I’m really loving the template/theme of this site. It’s simple, yet
    effective. A lot of times it’s tough to get that “perfect balance” between superb usability and visual appearance.
    I must say you have done a very good job with this. Also,
    the blog loads super quick for me on Opera. Exceptional Blog!

  20. Very good stuff Many thanks!

  21. MarvinRoave表示:

    neurontin prescription cost gabapentin buy neurontin 150 mg

  22. Guide To Gotogel Link Alternatif: The Intermediate Guide The Steps To
    Gotogel Link Alternatif gotogel Link alternatif

  23. 7 Small Changes You Can Make That’ll Make An Enormous Difference To Your Auto Door Lock Repair Near Me automatic car door lock repair

  24. Upvc Door Repairs Near Me Tools To Improve Your Daily Lifethe
    One Upvc Door Repairs Near Me Technique Every Person Needs To
    Be Able To upvc door repairs near me

  25. Five Killer Quora Answers On How Much To Get A
    Car Key Cut get A car Key cut

  26. The 10 Scariest Things About Kayleigh Pornstar Kayleigh Pornstar

  27. 20 Online Clothing Sites Uk Websites Taking The Internet By Storm Owens Corning Insulation Kit, https://vimeo.com/,

  28. Charleselila表示:

    neurontin prescription online: neurontin 800 mg tablet – neurontin cost uk

發佈留言

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