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,673,932 Responses

  1. Wonahodex App表示:

    Every weekend i used to visit this site, because i want enjoyment,
    as this this site conations really good funny
    material too.

  2. Derekfar表示:

    deneme bonusu veren siteler betturkey: deneme bonusu veren siteler 2024 – deneme bonusu veren siteler denemebonusu2026.com

  3. Fidel Ciantar表示:

    In recent years, there has been a surge in popularity of CBD products for their various health and wellness benefits. One company that has been gaining attention in this space is Green Street Origins.

  4. Medicines prescribing information. Drug Class.
    how to buy generic lisinopril online
    Actual what you want to know about medicament. Get information here.

  5. HassanbuifS表示:

    https://slot-tr.online/# slot siteleri
    deneme bonusu veren siteler yeni

  6. ClydePab表示:

    denemebonusuverensiteler.top: deneme bonusu veren yeni siteler – deneme bonusu veren siteler 2024

  7. Nikefut表示:

    darknet websites tor darknet deep web drug links

  8. Derekfar表示:

    matadorbet bid: matadorbet.bid – matadorbet giris

  9. The Battery-Powered Scooters Success Story You’ll Never Be Able
    To small electric Mobility scooter

  10. LarryCoell表示:

    ultrabet bonus ultrabet yeni giris 1125 ultrabet guncel

  11. HassanbuifS表示:

    https://slot-tr.online/# slot oyunlar? puf noktalar?
    deneme bonusu veren siteler betturkey

  12. Julienne表示:

    10 Meetups About ADHD Symptoms In Adult Women You Should Attend adhd inattentive
    type women (Julienne)

  13. HassanbuifS表示:

    https://matadorbet.bid/# matadorbet bid
    deneme bonusu veren siteler 2024

  14. Derekfar表示:

    ultrabet: ultrabet tr online – ultrabet bonus

  15. AtmlHesia表示:

    You can save big each time you ivermectin 12 mg pills to your home when buying through this site

  16. The History Of Stylish Mobility Scooters In 10 Milestones compact portable scooters

  17. PHWIMND表示:

    YTJPDBQ EXBKTHV YKRNSQR YWMVZYB
    https://9gm.ru/article?SABFWF

  18. GALAXY PLUS表示:

    Thanks for finally writing about > JS 依照元素出現數量排序 – 馬老師
    雲端研究室 < Liked it!

  19. We’ve Had Enough! 15 Things About Remote Key Fob Repair We’re Fed Up Of Hearing remote key Fob repairs

  20. 5 In Order To Build Backlinks 백링크 대행 – drugoffice.gov.hk

  21. The People Closest To Treadmill Incline Workout Have Big
    Secrets To Share Portable Treadmill Incline

  22. Nikefut表示:

    tor markets darknet market links deep dark web

  23. 12 Facts About Case Battles That Will Refresh Your
    Eyes At The Cooler Water Cooler Best csgo case battle Sites

  24. When I initially commented I clicked the “Notify me when new comments are added” checkbox and now each time a comment is added I get several e-mails with the same comment.
    Is there any way you can remove me from that service? Bless you!

  25. Find out how our aged Reddit accounts with significant karma can aid in gaining a powerful market
    position.

  26. 13 Things About Asbestos Mesothelioma Lawsuit You May
    Not Have Considered mesothelioma Attorneys

  27. Тут можно преобрести сейфы для оружия пистолетные купить сейф для ружья в москве

發佈回覆給「HassanbuifS」的留言 取消回覆

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