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,367,078 Responses

  1. Nikefut表示:

    darkmarket 2024 darknet market lists dark market onion

  2. KennethPah表示:

    amoxicillin medicine over the counter Amox Star amoxicillin 1000 mg capsule

  3. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт стиральных машин smeg цены, можете посмотреть на сайте: ремонт стиральных машин smeg
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  4. SamuelBix表示:

    can i buy generic clomid without prescription: clomid on pharm – can you get generic clomid without insurance

  5. вывод из запоя краснодар наркология вывод из запоя краснодар наркология .

  6. Summer表示:

    My partner and I stumbled over here from a different web page and
    thought I might as well check things out. I like what I see so now i am following you.
    Look forward to finding out about your web page again.

  7. истинный запой [url=https://belbeer.borda.ru/?1-6-0-00000780-000-0-0-1730825410]истинный запой[/url] .

  8. RobertJar表示:

    can i get clomid no prescription: can i get generic clomid prices – can you get clomid price

  9. You’ll Be Unable To Guess Patio Doors Repair Near Me’s Benefits patio doors repair near me

  10. RobertJar表示:

    amoxicillin online purchase: order amoxicillin uk – amoxicillin without rx

  11. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт стиральных машин smeg адреса, можете посмотреть на сайте: ремонт стиральных машин smeg цены
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  12. KennethPah表示:

    cost generic clomid pill clomidonpharm can you buy cheap clomid now

  13. вывод из запоя на дому санкт петербург [url=www.taksafonchik.borda.ru/?1-2-0-00001309-000-0-0-1730826374/]вывод из запоя на дому санкт петербург [/url] .

  14. I appreciate your recommendations on using long-tail keywords effectively. It really makes a difference! Explore more ideas at seo

  15. KennethPah表示:

    cost of prednisone 50mg prednisone tablet online prednisone 5mg

  16. Great job on highlighting the benefits of regular deep cleaning—your insights are invaluable to homeowners like me; can’t wait to check out carpet cleaning company too!

  17. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт стиральных машин smeg в москве, можете посмотреть на сайте: ремонт стиральных машин smeg
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  18. You are so cool! I do not believe I’ve read something like this before.

    So great to discover another person with genuine thoughts on this issue.
    Seriously.. many thanks for starting this up.
    This site is something that is needed on the web, someone with a bit
    of originality!

  19. 789Win – Cổng game giải trí hàng đầu với dịch vụ uy tín, giao diện hiện đại và hàng ngàn trò
    chơi hấp dẫn. Trải nghiệm ngay để nhận ưu đãi cực khủng!

  20. EdgarWat表示:

    Интересные статьи о займах – https://urbc.ru/1068108720-zaymy-loyalnye-usloviya.html

  21. This is very interesting, You’re a very skilled blogger.
    I’ve joined your feed and look forward to seeking more of your magnificent post.
    Also, I’ve shared your web site in my social networks!

  22. DanielAbice表示:

    http://clomidonpharm.com/# where buy clomid pills

  23. KennethPah表示:

    how much is amoxicillin prescription AmoxStar amoxicillin cephalexin

發佈留言

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