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,367,668 Responses

  1. Здесь можно сейф купить домашние сейфы

  2. The other day, while I was at work, my cousin stole my iPad and tested
    to see if it can survive a 40 foot drop, just so she can be
    a youtube sensation. My apple ipad is now broken and she has 83 views.

    I know this is completely off topic but I had to share it with someone!

    Also visit my web site … Alzheimer’s care near me

  3. Здесь можно домашние сейфы купить сейф для дома купить в москве

  4. Awesome content. Cheers!

  5. Hello there! Do you use Twitter? I’d like to follow you if that would be ok.
    I’m undoubtedly enjoying your blog and look forward to new posts.

    Here is my web page – senior living communities

  6. RobertJar表示:

    canada buy prednisone online: Predni Best – 3000mg prednisone

  7. Thaks forr one’s marѵellous posting! I actualy eenjoyed
    reading it, yyou aree a geat author. I wikll ake sure
    too bookmarқ yohr bpog annd wilpl come bacfk sometimee soon. I want
    tto encoyrage oone too conmtinue yyоur gteat writing, hav
    a nnice evening!

    Heere iss mmy website; “Visit My Website”

  8. What’s up, after reading this amazing post i am also
    happy to share my experience here with colleagues.

    my web page; long-term care facilities

  9. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт телефонов honor адреса, можете посмотреть на сайте: ремонт телефонов honor рядом
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  10. Здесь можно где купить сейф для дома в москве сейф домашний цена

  11. Здесь можно купить сейф для дома цена купить сейф для дома цена

  12. Jessetor表示:

    Получайте кэшбэк до 5% на каждый покупку с картой Сбербанка! Экономьте на покупках в магазинах, кафе и онлайн. Простое оформление и удобное управление через мобильное приложение.
    Начните экономить уже сегодня!======>
    Кредит Ипотека в Новошахтинске

  13. douerdun.com表示:

    Buzzwords De-Buzzed: 10 Other Methods Of Saying L Shaped Couches For Sale couches
    for sale london – douerdun.com

  14. Здесь можно где купить сейф для дома в москве где купить сейф для дома в москве

  15. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали срочный ремонт телефонов infinix, можете посмотреть на сайте: ремонт телефонов infinix сервис
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  16. Medication prescribing information. Cautions.
    cost of seroquel for sale
    Some information about medicine. Get information here.

  17. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт телефонов honor адреса, можете посмотреть на сайте: ремонт телефонов honor сервис
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  18. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт телефонов honor адреса, можете посмотреть на сайте: ремонт телефонов honor адреса
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  19. My brother suggested I might like this website.
    He was entirely right. This post truly made my day. You can not imagine just how much time I had spent for this information! Thanks!

  20. электрокарниз москва [url=http://elektrokarniz-dlya-shtor499.ru/]электрокарниз москва[/url] .

  21. Joseph Moreno表示:

    Thanks for shedding light on effective decluttering strategies! For large-scale clean-ups same day junk removal

  22. Nikefut表示:

    deep web drug links how to get on dark web onion market

  23. Создание сайтов – это очень важный процесс для любого бизнеса.
    Сайт является лицом компании
    и помогает привлекать новых клиентов.

    Сайт может содержать информацию
    о компании, ее услугах и продуктах.Создание сайта начинается с разработки дизайна.
    Дизайн должен быть привлекательным
    и удобным для пользователей. Далее создается структура сайта.

    На этом этапе определяется количество страниц на сайте и их
    расположение. После этого сайт программируется.
    Программист пишет код для функционирования сайта.
    Затем сайт тестируется и отлаживается.

    В заключение, создание сайтов – это
    сложный и трудоемкий процесс, требующий специализированного подхода и знаний в области веб-разработки.

  24. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали срочный ремонт телефонов honor, можете посмотреть на сайте: ремонт телефонов honor
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  25. KennethPah表示:

    how can i get cheap clomid without prescription where buy clomid without a prescription where to get generic clomid price

  26. І thuink thee admjn off thius webb site iis acgually workinhg had iin sypport off
    hiss site, bewcаuse heere ecery matterial iss qualityy bawseɗ stuff.

    Hеere iis myy sit پیشنهاد ویژه فقط امروز

  27. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт телефонов infinix цены, можете посмотреть на сайте: ремонт телефонов infinix адреса
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

發佈留言

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