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,664,773 Responses

  1. phising表示:

    Very shortly this site will be famous among all blog users, due to it’s fastidious articles

  2. Pingidiof表示:

    darknet markets onion address darknet markets

  3. Melody Marks sex scenes are not to be missed!.

  4. Warm scenes with Maastram starlets. Tolerable at all!

  5. Dwightkak表示:

    canadian pharmacy prices: canadian pharmacies compare – USACanadaPharm

  6. shart303表示:

    It’s enormous that you are getting thoughts from this post as well as from
    our discussion made at this place.

  7. WilliamDeeli表示:

    Мы можем предложить дипломы психологов, юристов, экономистов и других профессий по приятным ценам. Дипломы изготавливаются на подлинных бланках государственного образца Заказать диплом любого ВУЗа diplomnie.com

  8. Albertbiave表示:

    http://usacanadapharm.com/# USACanadaPharm

  9. Medication information leaflet. Generic Name.
    can you get dramamine without prescription
    Some information about drugs. Get information now.

  10. WilliamDeeli表示:

    Мы изготавливаем дипломы любой профессии по приятным тарифам. Дипломы производятся на фирменных бланках государственного образца Приобрести диплом о высшем образовании diplomt-tver69.ru

  11. StephenCer表示:

    USACanadaPharm: USACanadaPharm – canadian pharmacies online

  12. WilliamDeeli表示:

    Мы изготавливаем дипломы психологов, юристов, экономистов и других профессий по приятным ценам. Дипломы производятся на настоящих бланках государственного образца Заказать диплом любого ВУЗа vuz-diplom.ru

  13. Dwightkak表示:

    the canadian drugstore: canadian pharmacy world reviews – canadianpharmacyworld

  14. Samuelcuh表示:

    recommended canadian pharmacies: best rated canadian pharmacy – usa canada pharm

  15. Albertbiave表示:

    https://usacanadapharm.com/# USACanadaPharm

  16. xxx bf表示:

    SVB acquires BF & F XXX. Good things!

  17. Dwightkak表示:

    usa canada pharm: best canadian pharmacy online – canadian pharmacy mall

  18. Albertbiave表示:

    https://usacanadapharm.shop/# usa canada pharm

  19. Cazrizv表示:

    Где купить диплом специалиста?
    Мы можем предложить дипломы любой профессии по приятным ценам. Для нас важно, чтобы дипломы были доступны для большого количества граждан. Приобрести диплом любого института diplomh-40.ru/kupit-diplom-menedzhera-s-reestrom-ofitsialno-i-bistro/

  20. Dwightkak表示:

    vipps canadian pharmacy: best canadian pharmacy – USACanadaPharm

  21. Georgefig表示:

    этот сайт vodkabet

  22. This is my first time pay a quick visit at here and i am really happy to read
    all at alone place. https://f004.backblazeb2.com/

  23. Dwightkak表示:

    canadianpharmacy com: canadian pharmacy in canada – canada pharmacy online

  24. Great old made American mom XXX sex flicks, that’s what I’m talking about!

  25. TimothyDok表示:

    usa canada pharm canadianpharmacymeds com usa canada pharm

發佈留言

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