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

  1. What’s The Most Creative Thing Happening With Cerebral Palsy Litigation cerebral palsy lawsuit

  2. CharlesDog表示:

    http://cenforce.pro/# Buy Cenforce 100mg Online

  3. 15 Gifts For The Hire Truck Accident Lawyers Lover In Your Life pearsall Truck accident lawyer

  4. car表示:

    Why All The Fuss? Porsche Key Shell? car

  5. What’s The Reason You’re Failing At List Of Online Shopping
    Sites Uk Elegant Wood Tray For Home Decor

  6. What Is Kit Avon 2023? History Of Kit Avon 2023 In 10 Milestones Avon Starter set

  7. vimeo.Com表示:

    Responsible For The Online Shopping Uk Groceries Budget?

    10 Unfortunate Ways To Spend Your Money vimeo.Com

  8. ElmerWes表示:

    sildenafil oral jelly 100mg kamagra kamagra Kamagra Oral Jelly

  9. cotkan.ru表示:

    What’s The Job Market For Double Glazing Repairs Near
    Me Professionals? double Glazing repairs near me (cotkan.ru)

  10. ElmerWes表示:

    sildenafil oral jelly 100mg kamagra kamagra.win Kamagra 100mg

  11. 10 Pinterest Accounts To Follow About Automated
    Backlink Software Backlink building software

  12. ElmerWes表示:

    Cenforce 100mg tablets for sale buy cenforce cheapest cenforce

  13. 15 Terms That Everyone Who Works In Upvc Doors Leeds
    Industry Should Know Window replacement Leeds

  14. Go Togel表示:

    16 Must-Follow Facebook Pages To Link Login Gotogel Marketers Go Togel

  15. TylerPhona表示:

    http://cialist.pro/# Cialis without a doctor prescription

  16. Since the admin of this web site is working, no uncertainty very soon it will be
    renowned, due to its feature contents.

  17. You’ll Be Unable To Guess Upvc Window Repair Near Me’s Benefits upvc Window repair near me

  18. 10 Treadmill For Home Tricks All Pros Recommend treadmill for home use

  19. Easy Dinner表示:

    Three Common Reasons Your Shopping Online Site Clothes Isn’t Working
    (And How To Fix It) Easy Dinner

  20. TylerPhona表示:

    http://viagras.online/# cheap viagra

  21. CharlesDog表示:

    http://viagras.online/# Sildenafil 100mg price

  22. JamesNow表示:

    cheap kamagra: kamagra.win – Kamagra tablets

  23. The 9 Things Your Parents Teach You About Upvc Window Repair Near Me window Repair near me

  24. CharlesDog表示:

    http://viagras.online/# sildenafil over the counter

  25. otuslot表示:

    Wow, that’s what I was seeking for, what a data! existing here at this blog, thanks admin of this site.

  26. DavidOwelo表示:

    https://kamagra.win/# buy Kamagra

  27. DavidOwelo表示:

    http://cenforce.pro/# cheapest cenforce

  28. Guide To Garden Wood Burner: The Intermediate Guide To Garden Wood Burner garden Wood burner

發佈留言

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