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,523,864 Responses

  1. mostbet_dfpa表示:

    мост бет скачать gtrtt.com.kg .

  2. JamesHiz表示:

    This article left an impression—check it out http://promintern.listbb.ru/viewtopic.php?f=16&t=1453

  3. duit66 login表示:

    Mainkan permainan slot dengan banyaknya pilihan permainan hanya di duit66 login slot gacor bonus new member 100 yang memberikan kemenangan untuk pecinta slot online.

  4. Hiburan138表示:

    Asking questions are actually fastidious thing if you are not understanding anything entirely, however this post offers
    good understanding even.

  5. MichaelGeony表示:

    no prescription needed canadian pharmacy https://xxlmexicanpharm.shop/# xxl mexican pharm

  6. WillieRap表示:

    discount drug mart: drug mart – drug mart

  7. WillieRap表示:

    canadian pharmacy prices: easy canadian pharm – easy canadian pharm

  8. Michaelkig表示:

    darknet links https://github.com/darknetmarkets2025/darknetmarketlinks – bitcoin dark web tor markets 2025

  9. mostbet_pipa表示:

    mostbet регистрация com gtrtt.com.kg .

  10. MichaelGeony表示:

    canadian pharmacy world coupons https://megaindiapharm.com/# Mega India Pharm

  11. MichaelGeony表示:

    no prescription needed canadian pharmacy https://familypharmacy.company/# family pharmacy

  12. PENIPU表示:

    If you would like to improve your knowledge simply keep visiting this site and be updated with the
    newest news update posted here.

  13. Porterfax表示:

    Cheapest online pharmacy Online pharmacy USA Best online pharmacy

  14. 서울유흥表示:

    7 Tricks For Having Fun In Your Retail Store 서울유흥

  15. MarkWat表示:

    Всем привет! Подскажите, где почитатьполезные блоги о кредитах? Пока нашел – https://stopkredit-vladivostok.ru

  16. Davidnof表示:

    black internet https://github.com/darkwebwebsites/darkwebwebsites – deep web drug url darknet marketplace

  17. 10 Beautiful Images To Inspire You About Buy Bismarck Yorkshire Terrier Puppies Bismarck welpen yorkshire terrier kaufen​

  18. 9 Things Your Parents Taught You About Multistore Containers Multistore Containers

  19. mostbet_bbpa表示:

    скачать мостбет официальный сайт gtrtt.com.kg .

  20. Wonderful blog! I found it while searching on Yahoo News.
    Do you have any suggestions on how to get listed in Yahoo News?
    I’ve been trying for a while but I never seem to get there!
    Thanks

  21. free porn表示:

    You can certainly see your skills in the work you write.
    The arena hopes for even more passionate writers such as you who aren’t afraid to mention how they believe.
    Always follow your heart.

  22. Michaelkig表示:

    darknet drugs https://github.com/darknetmarkets2025/darknetmarketlinks – dark web sites links darknet seiten

  23. MichaelGeony表示:

    canadian pharmacy coupon code http://megaindiapharm.com/# Mega India Pharm

  24. mostbet_wgpa表示:

    скачать мост бет http://www.gtrtt.com.kg .

發佈留言

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