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,227,898 Responses

  1. Chrismew表示:

    הצרכים שלו, לרבות התנסויות חדשות, חשוב לעשות זאת בצורה דיסקרטית. כפי שכבר אמרנו, החברה לעתים צבועה ושיפוטית בנושא. אבל בשורה דירות דיסקרטיות בראשון לציון. זוהי חוויה בלתי נשכחת. מאמר 4 דירות דיסקרטיות בחולון פותחות דלת לעולם אחר דירות דיסקרטיות ליווי דיסקרטי

  2. Whether for fun or for prizes, Pachinko delivers a dynamic and engaging gaming experience.

  3. Experience the nostalgia of Pachinko, a classic game that continues to entertain players of all ages.

  4. Darrelherse表示:

    en iyi slot siteleri: yasal slot siteleri – deneme bonusu veren siteler

  5. KevinSounc表示:

    http://denemebonusuverensiteler.win/# bonus veren siteler

  6. Darrelherse表示:

    bonus veren slot siteleri: slot casino siteleri – en iyi slot siteleri 2024

  7. Thanks for sharing your thoughts on kms activatorwindows 10.
    Regards

  8. I enjoy what you guys tend to be up too. Such clever work and coverage!
    Keep up the superb works guys I’ve you guys to my own blogroll.

  9. The People Closest To Skoda Superb Replacement Key Tell You Some Big Secrets skoda kodiaq replacement key

  10. Do you have a spam problem on this website; I also am a blogger,
    and I was curious about your situation; we have developed some nice methods and
    we are looking to trade solutions with other folks, be sure to
    shoot me an e-mail if interested.

  11. I like the helpful info you provide in your articles.
    I will bookmark your weblog and check again here
    frequently. I am quite sure I will learn a lot of
    new stuff right here! Good luck for the next!

    my homepage :: Pinoy SEO Services Philippines

  12. Hello, I enjoy reading all of your article. I like to write a little comment to support you.

  13. Darrelherse表示:

    deneme bonusu veren siteler: en guvenilir slot siteleri – slot bahis siteleri

  14. Darrelherse表示:

    en iyi slot siteleri 2024: 2024 en iyi slot siteleri – canl? slot siteleri

  15. KevinSounc表示:

    http://sweetbonanza.network/# sweet bonanza free spin demo

  16. kilian.co.Kr表示:

    Replacement Mini Keys: The Good, The Bad, And The Ugly replacement mini
    car key (kilian.co.Kr)

  17. Darrelherse表示:

    slot oyunlar? siteleri: oyun siteleri slot – guvenilir slot siteleri

  18. JamesscarP表示:

    מהחוויה הוא הנערות המעניקות את העיסוי. מדובר בנערות היפות ביותר בארץ, והן מעסות את גופך במסירות רבה וגם הן נהנות מאותה החוויה והסקסיות איתך במיטה. בחורות בעלות ישבנים מפתים ועסיסיים, עור נעים ורך, שיער משי עדין וכמובן שדיים קופצניים כמו בסרטים. והכל read article

  19. The 10 Most Terrifying Things About Mobility Scooter For Disabled adjustable Mobility scooters

  20. Darrelherse表示:

    deneme veren slot siteleri: 2024 en iyi slot siteleri – casino slot siteleri

  21. KevinSounc表示:

    https://slotsiteleri.bid/# en guvenilir slot siteleri

  22. مخدرات表示:

    This excellent website definitely has all the information and facts I
    wanted about this subject and didn’t know who to ask.

發佈留言

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