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,524,626 Responses

  1. I have been surfing online more than 3 hours today, yet I
    never found any interesting article like yours.
    It is pretty worth enough for me. In my view, if all web owners
    and bloggers made good content as you did, the net will be much more useful than ever before. https://Trademarketclassifieds.com/user/profile/1994168

  2. Howdy! I’m at work browsing your blog from my new iphone 4!
    Just wanted to say I love reading through your blog and look forward to all your posts!

    Carry on the excellent work!

  3. Charleskepsy表示:

    mail order prescription drugs from canada https://discountdrugmart.pro/# drug mart

  4. Thanks to my father who told me regarding this web site, this weblog is truly amazing.

  5. 9 . What Your Parents Teach You About Darling Hahns Macaw darling hahns macaw
    (https://compravivienda.com/)

  6. 1 vin_blSi表示:

    как зайти на 1win https://bbcc.com.kg .

  7. Understanding basic first aid can conserve lives First Aid Courses Brisbane CBD

  8. Commande de levitra, cialis levitra viagra, Menon Magasin en ligne. Sexual activists of pain.If confusing side is ensured this is mainly the most. Les prix de viagra, viagra pharmacie suisse, Petrochemistry. Commander viagra en ligne, viagra en pharmacie, Praiadonorte. Viagra sans ordonnance, prix pharmacie viagra, I-studentglobal. Acquisition de viagra, viagra 50mg en ligne, Magazineforces. Acquisition de viagra, achat viagra en ligne, Clonemagazine. https://eurogeneriqueetfrance.com/driptane/ Bon Marche Driptane Remise

  9. 출장안마表示:

    Tips For Choosing A Massage 출장안마

  10. Porterfax表示:

    mexican border pharmacies shipping to usa xxl mexican pharm buying from online mexican pharmacy

  11. Davidmoits表示:

    safe reliable canadian pharmacy: canadianpharmacymeds – legitimate canadian mail order pharmacy

  12. WillieRap表示:

    easy canadian pharm: canada drug pharmacy – easy canadian pharm

  13. Andrewcracy表示:

    трейнер гта 5 – читы для апекс, приват читы кс го

  14. Buy Driving License: What No One Is Talking About FüHrerschein Kaufen

  15. WillieRap表示:

    buying prescription drugs in mexico: xxl mexican pharm – reputable mexican pharmacies online

  16. Luciapymn表示:

    Играйте в увлекательные автоматы на сайте mostbet и выигрывайте крупные суммы денег, наслаждаясь захватывающим игровым процессом и качественной графикой.

  17. mana777表示:

    I know this web page provides quality based articles
    or reviews and additional data, is there any other
    web page which provides such things in quality?

  18. MarkWat表示:

    Всем привет! Подскажите, где почитатьразные блоги о займах? Пока нашел – andreeva36.ru

  19. It’s True That The Most Common Buy Telc B1 Exam Certificate Debate Could Be
    As Black And White As You May Think C2 zertifikat kaufen

  20. WillieRap表示:

    discount drugs: discount drug mart pharmacy – canadian pharmacy coupon code

  21. Davidmoits表示:

    Cheapest online pharmacy: online pharmacy delivery usa – Online pharmacy USA

發佈留言

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