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,364,693 Responses

  1. Its like you learn my mind! You appear to know so much approximately this, such as you wrote the book in it or something.
    I feel that you just could do with a few percent to pressure the message house a little bit, but other than that, this
    is fantastic blog. A great read. I will definitely be back.

  2. Have you ever thought about including a little bit more than just your articles?

    I mean, what you say is fundamental and everything.
    Nevertheless just imagine if you added some great pictures or video
    clips to give your posts more, “pop”! Your content is excellent but with pics and video clips,
    this website could definitely be one of the very best in its field.
    Superb blog!

  3. HaroldBig表示:

    cheapest rybelsus pills: buy semaglutide online – rybelsus price

  4. Carrol表示:

    They can also avoid messy lengthy estate lawsuits or will certainly contests.

  5. Jeremypag表示:

    buy cheap ozempic Ozempic without insurance buy ozempic

  6. HaroldBig表示:

    Ozempic without insurance: ozempic generic – ozempic coupon

  7. Thank you for another fantastic article.
    Where else may just anyone get that kind of info
    in such a perfect approach of writing? I’ve a presentation subsequent week, and I’m on the look for such
    information.

  8. Профессиональный сервисный центр по ремонту автомагнитол в Москве.
    Мы предлагаем: починить магнитолу
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  9. HaroldBig表示:

    semaglutide cost: buy semaglutide online – semaglutide cost

  10. You’ll Never Guess This Replacing Volkswagen Key’s Benefits replacing Volkswagen Key

  11. HaroldBig表示:

    buy semaglutide pills: buy semaglutide pills – rybelsus pill

  12. HaroldBig表示:

    ozempic generic: ozempic – ozempic

  13. Woah! I’m really loving the template/theme of this site.
    It’s simple, yet effective. A lot of times it’s hard to get that “perfect balance” between superb usability and appearance.

    I must say that you’ve done a amazing job with this.
    In addition, the blog loads extremely fast for me on Safari.
    Superb Blog!

  14. Ellis表示:

    Instead of waiting for a court date, you can schedule mediation sessions at your convenience.

  15. ความหลงใหล ในการ
    ทำ “หวยลาว” เป็นหนึ่งในกิจกรรมยอดนิยมในประเทศไทย โดยผู้คนจำนวนมากมักจะหลงใหล ในการเสี่ยง ด้วยความหวังที่จะได้รับ ความโชคดี และ ปรับปรุงให้ดีขึ้น ชีวิตของตนเอง

    “หวยลาว” เป็นการพนัน ที่ถูกกฎหมายในประเทศลาว และได้รับความนิยม อย่างมากในหมู่ คนไทย โดยเฉพาะอย่างยิ่งในช่วงเทศกาลสำคัญ ๆ เช่น วันสงกรานต์ วันขึ้นปีใหม่ และช่วงก่อนการออกรางวัลใหญ่ของ”หวยลาว” ผู้คนจะต่างซื้อ
    เพื่อลุ้นรับรางวัลเงินก้อนใหญ่ ที่จะ ปรับปรุง ชีวิตของพวกเขา

    อย่างไรก็ตาม การ พนัน “หวยลาว” ก็ไม่ปราศจากปัญหา เนื่องจากบางคนอาจ ต้องการ
    การพนันและใช้เงินมากเกินไป
    ส่งผลให้เกิด ปัญหาสังคม
    นอกจากนี้ การเล่น “หวยลาว” ยังอาจเป็นช่องทางให้คนบางกลุ่ม หาผลประโยชน์ โดยมิชอบ ด้วยการ ซ่อนเร้น รางวัลของผู้ชนะ

    แม้ว่าการ ทำ “หวยลาว” จะเป็นกิจกรรมที่ถูกกฎหมายและ เป็นที่ชื่นชอบ ในหมู่ ประชาชนไทย แต่ควรมีการ ตรวจสอบ อย่างใกล้ชิดเพื่อ ลบล้าง ปัญหาที่อาจ ส่งผลกระทบ ทั้งนี้ เพื่อให้การ เสี่ยง “หวยลาว” เป็นเพียงการ ลุ้นรับโชค เท่านั้น และ ไม่ก่อให้เกิดปัญหา ต่อ คุณภาพชีวิต ของ ผู้ลุ้น

    Also visit my web page; คาสิโนออนไลน์ที่เปิดให้บริการนานที่สุดในประเทศไทย (https://www.openlearning.com)

  16. 4KINGBET表示:

    Right here is the right web site for everyone who wants to understand this topic.

    You realize so much its almost tough to argue with
    you (not that I actually will need to…HaHa).
    You certainly put a fresh spin on a subject that’s been discussed for years.
    Wonderful stuff, just excellent!

  17. Jeremypag表示:

    ozempic cost ozempic generic Ozempic without insurance

  18. HaroldBig表示:

    ozempic online: buy cheap ozempic – ozempic

  19. RamonRek表示:

    ozempic generic: buy cheap ozempic – ozempic coupon

  20. HaroldBig表示:

    rybelsus price: rybelsus price – cheapest rybelsus pills

  21. Pediatricians often suggest melatonin for kids with sleep issues, or moms and dads may
    try it themselves.

  22. HaroldBig表示:

    buy semaglutide online: rybelsus cost – buy rybelsus online

  23. best anime表示:

    Yes! Finally someone writes about best movie.

  24. Сервисный центр предлагает сервис ремонта телевизоров leff ремонт телевизора leff рядом

  25. Іt is truly a ɡreat and helpful piece ߋf іnformation. I’m glad that you just shared
    this useful information with us. Pleasе keep uus up to
    date like tһis. Тhank уоu for sharing.

    Feel free tο surf to my blog Young men’s western shoes

  26. 4 Dirty Little Details About Automatic Folding Scooter And The Automatic Folding Scooter Industry
    Lightest Automatic Folding Mobility Scooter

  27. Сервисный центр предлагает починить кофемашины grundig починка кофемашин grundig

  28. Frankevild表示:

    https://rybelsus.shop/# buy semaglutide online

  29. Jeremypag表示:

    ozempic coupon buy cheap ozempic ozempic

發佈留言

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