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,141,371 Responses

  1. JamesNow表示:

    Viagra tablet online: Cheap Viagra 100mg – Sildenafil Citrate Tablets 100mg

  2. 10 Things You’ll Need To Learn About Bags Prada prada Handbag Sale

  3. JamesNow表示:

    over the counter sildenafil: Buy Viagra online – Cheap generic Viagra online

  4. CharlesDog表示:

    http://kamagra.win/# sildenafil oral jelly 100mg kamagra

  5. price表示:

    The Guide To Volvo Xc60 Replacement Key Cost In 2023 price

  6. Syair Sgp表示:

    Good day! Do you know if they make any plugins to help with Search Engine Optimization? I’m trying to get
    my blog to rank for some targeted keywords but I’m not seeing very good results.

    If you know of any please share. Cheers!

  7. Five Killer Quora Answers On Link Login Gotogel Link login Gotogel – http://Www.highclassps.com

  8. Find Out What Auto Locksmith Tricks Celebs Are
    Utilizing Automotive Lock Smith

  9. Glenna表示:

    20 Insightful Quotes On CS GO New Cases operation bravo case; Glenna,

  10. What’s The Reason Everyone Is Talking About Folding Mobility Scooter Uk Right Now mobility scooters for adults

  11. GeorgeSep表示:

    order cenforce: cenforce.pro – buy cenforce

  12. CharlesDog表示:

    http://kamagra.win/# buy kamagra online usa

  13. 10 Meetups About Best Robot Vacuum For Carpet You Should Attend bob Robot vacuum

  14. A Look At The Good And Bad About Birth Defect Lawyers beach park Birth defect lawyer

  15. CharlesDog表示:

    https://cialist.pro/# Generic Tadalafil 20mg price

  16. JamesNow表示:

    Levitra 10 mg best price: Levitra 20mg price – Levitra online USA fast

  17. Great blog here! Also your site loads up very fast! What host are you using? Can I get your affiliate link to your host? I wish my website loaded up as quickly as yours lol

  18. GeorgeSep表示:

    Generic Viagra online: viagras.online – Cheapest Sildenafil online

  19. What’s The Job Market For Double Glazed Window Repairs Professionals Like?
    Double Glazed Window Repairs; Minecraftathome.Com,

  20. Maxbet (แม็กซ์เบ็ต) เป็นเว็บพนันออนไลน์ที่ได้รับความนิยมสูงในประเทศไทย ด้วยหลากหลายเกมที่มีให้เลือกเล่น รวมถึงเกมคาสิโนสดที่มีเจ้ามือสุดเซียนให้บริการตลอด 24 ชั่วโมง นอกจากนี้ยังมีการแข่งขันกีฬาหลากหลายประเภท เช่นฟุตบอล บาสเก็ตบอล และมวยไทย ที่สามารถวางเดิมพันได้ทุกวัน ซึ่ง Maxbet ยังมีระบบความปลอดภัยเพราะใช้เทคโนโลยีการเข้ารหัสข้อมูล ทำให้ผู้เล่นมั่นใจได้ว่าข้อมูลส่วนตัวและการเงินของตน จะได้รับการปกป้องอย่างเต็มที่ ดังนั้น ถ้าคุณชื่นชอบการเดิมพันออนไลน์ คุณควรลองเล่นกับ Maxbet!

    My web blog: เว็บพนันคาสิโนออนไลน์ที่ดีที่สุด

  21. 10 Things That Your Family Teach You About Double Glazing Repair
    Cost Double Glazing Repair; http://Www.Copyoa.Com/Bbs/Board.Php?Bo_Table=Free&Wr_Id=2604605,

  22. The 10 Most Scariest Things About Upvc Repairs Near
    Me Upvc Repairs Near Me

  23. 10 Top Facebook Pages Of All Time About Door Fitters Leeds upvc Door repairs roundhay – http://bitetheass.com/user/squashbuffer99/

  24. TylerPhona表示:

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

  25. DavidOwelo表示:

    http://levitrav.store/# Buy Vardenafil online

  26. replaced表示:

    Double Glazing Windows Repairs: A Simple Definition replaced

  27. CharlesDog表示:

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

發佈留言

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