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,532 Responses

  1. Amazing! This blog looks just like my old one! It’s on a totally
    different subject but it has pretty much the same page
    layout and design. Wonderful choice of colors!

  2. Cs20 Case表示:

    The Complete Guide To CSGO Case New Cs20 Case

  3. vimeo表示:

    Is Technology Making Cerebral Palsy Law Better Or Worse? vimeo

  4. представить в joker ra на деньги:
    Для желающих повидать удачу настоящими ставками доступен порядок игры
    на реальные деньжата. Joker Ra слот – это захватывающий
    слот, какой сочетает в себе тематику древнеегипетской мифологии с
    классическими элементами азартных игр.
    В этом обзоре мы рассмотрим основные особенности
    этого игрового автомата, его возможности и преимущества.
    1.Тематика: Сочетание темы древнего Египта с символикой джокера создает уникальную атмосферу и добавляет заинтересованность к игре.
    Игровой машина Joker Ra – это
    захватывающая игра, которая сочетает в
    себе классические элементы игровых автоматов с
    тематикой древнеегипетского мифа о боге солнца
    Ра и яркими символами джокера.

    В этом обзоре мы рассмотрим особенности этой игры,
    ее потенциал и преимущества. 2.Бонусные функции:
    В игре предусмотрены различные бонусные раунды,
    которые могут принести дополнительные выигрыши и умножить
    азарт игры.

  5. CharlesDog表示:

    http://kamagra.win/# Kamagra tablets

  6. CharlesDog表示:

    https://levitrav.store/# Vardenafil price

  7. Nolan表示:

    15 Up-And-Coming Trends About Who Sells Avon Near Me sell avon online uk (Nolan)

  8. Ariel表示:

    How To Become A Prosperous Upvc Windows Leeds Even If You’re Not Business-Savvy upvc window
    handle repair leeds (Ariel)

  9. CharlesDog表示:

    http://cenforce.pro/# cenforce for sale

  10. ai tools表示:

    The other day, while I was at work, my sister stole my apple ipad and tested
    to see if it can survive a thirty 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 entirely off topic but I had to share
    it with someone!

  11. The 10 Most Scariest Things About Double Glazing Repairs Near Me double glazing repairs Near me

  12. ElmerWes表示:

    buy cenforce Purchase Cenforce Online Buy Cenforce 100mg Online

  13. Titration表示:

    Steps For Titration Tools To Streamline Your Everyday Lifethe Only Steps For Titration Trick That Everyone
    Should Learn Titration

  14. units表示:

    The Leading Reasons Why People Perform Well Within The
    Double Glazing Doctor Near Me Industry units

  15. TylerPhona表示:

    http://cenforce.pro/# order cenforce

  16. JamesNow表示:

    Buy Vardenafil 20mg: levitrav.store – Vardenafil buy online

  17. What Is The Future Of Accident Lawsuit Be Like In 100 Years?
    ventnor City accident lawsuit

  18. 5 Killer Quora Answers On Large American Fridge Freezers American fridge freezer

  19. 15 Twitter Accounts That Are The Best To Find Out More About Waitrose Groceries Online Shopping Uk Preschool Educational Rug

  20. Marianne表示:

    10 Things That Your Family Teach You About 10kg Washing Machine Best Price 10kg washing machine best price (Marianne)

  21. 15 Gifts For The Auto Accident Legal Lover In Your Life forney auto accident lawsuit

  22. JamesNow表示:

    Levitra 10 mg best price: Levitra generic price – Levitra 10 mg best price

  23. The 10 Scariest Things About What Is Tiered Link Building tiered Link building

  24. How To Outsmart Your Boss On Under Counter Side By Side Fridge Freezer highest rated side by side refrigerator

  25. 5 Killer Queora Answers On Automobile Locksmith automotive locksmith in my area

  26. GeorgeSep表示:

    Buy Levitra 20mg online: Levitra 20mg price – Cheap Levitra online

  27. DavidOwelo表示:

    https://cenforce.pro/# order cenforce

  28. ElmerWes表示:

    Sildenafil Citrate Tablets 100mg Buy generic 100mg Viagra online buy viagra here

發佈留言

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