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,147,217 Responses

  1. DavidOwelo表示:

    http://cialist.pro/# Tadalafil price

  2. eatery表示:

    Your mode of explaining the whole thing in this piece of writing is really good, all be capable of easily know it, Thanks a lot.

  3. 9 Signs You’re A Designer Bags Expert Designer handbags amazon

  4. GeorgeSep表示:

    Vardenafil online prescription: Levitra generic price – Levitra online pharmacy

  5. Tienda Nº 1 en Camiseta Osasuna
    Encontrarás cada segunda equipacion osasuna y ropa de entrenamiento de los clubs y selecciones nacionales para adultos y niños.

  6. Guide To Railroad Injuries Attorney: The Intermediate Guide To Railroad
    Injuries Attorney railroad injuries

  7. Vimeo表示:

    Buzzwords De-Buzzed: 10 Different Methods Of Saying Charity Shop Online Clothes
    Uk Vimeo

  8. JamesNow表示:

    Levitra 10 mg buy online: Vardenafil online prescription – Vardenafil buy online

  9. lawsuits表示:

    The One Erb’s Palsy Lawyer Trick Every Person Should Learn lawsuits

  10. GeorgeSep表示:

    super kamagra: kamagra pills – Kamagra 100mg

  11. CharlesDog表示:

    http://cenforce.pro/# cenforce.pro

  12. 10 Facts About Welcome To Avon That Will Instantly
    Make You Feel Good Mood Welcome To Avon

  13. Guide To Mobility Scooters For Sale Near Me: The Intermediate Guide To Mobility Scooters For
    Sale Near Me Mobility scooters for sale near me

  14. What’s The Current Job Market For Lightest Electric Wheelchair Uk Professionals?
    lightest electric Wheelchair uk

  15. JamesNow表示:

    Kamagra 100mg: kamagra.win – cheap kamagra

  16. CharlesDog表示:

    https://cenforce.pro/# Purchase Cenforce Online

  17. 5 Killer Quora Answers On Standing Desk Treadmill Standing Desk Treadmill

  18. Richardbag表示:

    Wanneer krijg ik een tijdelijk nummer? Als je met nummerbehoud overstapt naar Odido, krijg je van ons een tijdelijk Odido telefoonnummer bij je nieuwe simkaart tijdelijke nummer

  19. link mpo slot表示:

    I think this is among the most vital information for me.

    And i’m glad reading your article. But wanna remark
    on few general things, The site style is wonderful, the articles is really excellent : D.
    Good job, cheers

  20. What Do You Know About Slot Demo Pragmatic? link slot demo Pg

  21. Just want to say your article is as surprising. The clarity in your post is simply nice and i could assume you are an expert on this subject.
    Fine with your permission allow me to grab your feed to keep up to date with forthcoming
    post. Thanks a million and please carry on the gratifying work.

    Check out my blog: engagement printing company brisbane

  22. vimeo.com表示:

    The Next Big New Car Accident Settlement Industry central point car accident law firm
    (vimeo.com)

  23. 7 Things You’ve Never Knew About Dangerous Drugs edgerton dangerous drugs Law firm

  24. Freezer Units表示:

    10 Reasons Why People Hate Chest Freezer Chest Freezer Freezer Units

  25. JamesNow表示:

    sildenafil online: Cheapest place to buy Viagra – Cheap generic Viagra online

  26. Justindug表示:

    Приветствуем, уважаемые партнеры!

    Мы представляем компания СЕО продвижения XRumer Inc.

    Ваш сайт, как можно заметить, только набирает обороты. Для того, чтобы по максимуму ускорить его рост, можем предложить наши услуги по внешней SEO-оптимизации. Продвижение в поисковиках – наше основное направление. В ассортименте имеются надежные и эффективные SEO-инструменты для экспертов. Наши профессионалы обладают значительным опытом и портфолио выполненных проектов, которыми мы готовы поделиться по запросу.

    Мы предлагаем скидку 10% до конца месяца.

    Услуги:

    – Размещаем супер трастовые ссылки (нужно каждому сайту) – от 1,5 до 5000 руб

    – Размещение трастовых безанкорных ссылок (рекомендуется любым сайтам) – 3.900 рублей

    – Прогон на 110 000 сайтов в зоне RU (максимально полезно для сайтов) – 2.900 руб

    – Размещаем 150 постов В Контакте о вашем сайте (поможет в рекламе) – 3900 руб

    – Публикации про ваш сайт на 300 форумах (мощнейшая раскрутка онлайн-сайта) – 29.000 р

    – СуперПостинг – это прогон по 3 000 000 ресурсов (очень мощный прогон для ваших сайтов) – 39900 рублей

    – Рассылка сообщений по сайтам используя форму обратной связи – договорная стоимость, будет зависеть от объема.

    Если возникнут вопросы, обращайтесь. Все объясним. принимаем usdt
    Телегрм: @exrumer
    Skype: Loves.ltd
    www: https://XRumer.cc

  27. Porsche Key Replacement Cost Tools To Make Your Daily Life Porsche Key Replacement Cost Trick Every Person Should
    Learn porsche replacement key

發佈留言

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