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,372,347 Responses

  1. Nicely put. Cheers.

  2. JamesBuice表示:

    mexican online pharmacies prescription drugs: mexican pharma – medicine in mexico pharmacies
    mexican mail order pharmacies

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

  4. Fortune Tiger表示:

    This is a topic that’s near to my heart… Thank you!
    Where are your contact details though?

  5. 한국야동表示:

    I was looking at some of your posts on this website and I conceive this web site is really instructive! Keep puttin한국야동g up..

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

  7. Hi, I would like to subscribe for this web site to obtain most recent updates, so where can i do it please assist.

  8. nuddies表示:

    My family members every time say that I am killing my time here at web,
    however I know I am getting familiarity everyday by reading thes fastidious articles.

  9. BruceDoory表示:

    Букмекерский клуб Mostbet одним из последних пришел на рынок России. Однако это не помешало профессионалам сразу пробиться на высокие позиции в рейтингах. Оператор добивается этого за счет честных условий в ставках на спорт и в игровых аппаратах, а также через большое количество бездепозитных бонусов мостбет казино вход

  10. JamesBuice表示:

    mexico pharmacies prescription drugs: medication from mexico – mexico pharmacies prescription drugs
    mexican online pharmacies prescription drugs

  11. Trefggs表示:

    Сколько стоит получить диплом высшего и среднего образования легально?

    forummichiganrp.moibb.ru/viewtopic.php?f=21&t=519

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

  13. JamesBuice表示:

    purple pharmacy mexico price list: medication from mexico – buying prescription drugs in mexico
    purple pharmacy mexico price list

  14. Hello to every one, for the reason that I am truly keen of reading this webpage’s post
    to be updated daily. It includes nice data.

    Feel free to visit my web-site – foundation repair Dallas-Fort Worth

  15. Excellent, what a blog it is! This blog presents valuable data to us, keep it up.

  16. JamesBuice表示:

    mexico drug stores pharmacies: п»їbest mexican online pharmacies – mexican mail order pharmacies
    mexican online pharmacies prescription drugs

  17. We are a gaggle of volunteers and opening a brand new scheme in our community.
    Your web site provided us with useful information to work on. You’ve
    done a formidable job and our entire neighborhood will likely be thankful to you.

  18. I loved as much as you’ll receive carried out right here. The sketch is attractive,
    your authored subject matter stylish. nonetheless, you command
    get got an shakiness over that you wish be delivering the following.

    unwell unquestionably come more formerly again as exactly the same nearly very often inside case you shield
    this hike.

  19. Сервисный центр предлагает ремонт посудомоечной машины leran недорого срочный ремонт посудомоечной машины leran

  20. Hello, I check your blogs on a regular basis. Your writing style is witty, keep doing what you’re doing!

  21. Casino SEO表示:

    great points altogether, you just received a new reader. What may you
    recommend about your publish that you just made some days ago?
    Any sure?

  22. Excellent blog right here! Additionally your web site lots up fast!

    What host are you using? Can I am getting your affiliate hyperlink for your host?

    I want my web site loaded up as quickly as yours lol

  23. Caryn表示:

    Why All The Fuss About Pragmatic Demo? 프라그마틱 무료체험 슬롯버프 – Caryn

  24. This Is How ADHD Private Diagnosis Will Look In 10 Years’ Time private Adhd assessment bedfordshire

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

  26. anotepad.com表示:

    การ พนัน “หวยฮานอย” เป็นอีก โอกาส หนึ่งที่ได้รับ ความหลงใหล
    จาก คนในสังคมไทย ในการ ลุ้นรับโชค เมื่อ เปรียบเทียบ การ
    ลุ้น หวยรัฐบาลหรือ”หวยลาว” ความ น่าท้าทาย ของ”หวยฮานอย”คือ การ จับรางวัล ทุกวัน ส่งผลให้ผู้เล่น สามารถ ชนะ
    ได้บ่อยครั้ง และ สามารถ สร้าง รายได้อื่น ๆ จากการ เสี่ยง
    หวย

    อย่างไรก็ตาม การ เสี่ยง “หวยฮานอย” ก็ไม่ปราศจาก เนื่องจากผู้ ลุ้น บางรายอาจ ลงทุน มากเกินไปหรือ
    มุ่งหมาย การพนัน ซึ่งอาจส่งผลกระทบ ต่อฐานะทางการเงิน นอกจากนี้ ยังมี โอกาส เรื่องการถูกหลอกลวง จากผู้ที่ ต้องการทำเงิน โดยมิชอบ

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

    Also visit my homepage: ลอตเตอรี่ออนไลน์ – anotepad.com

  27. 789win表示:

    Do you have a spam issue on this blog; I also am a blogger, and I was curious about your situation; we have created some nice methods and we are looking to swap solutions with others, why not shoot me an email if interested.

發佈留言

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