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,244,938 Responses

  1. Nikefut表示:

    dark market url darkmarkets https://darknetmarketstore.com/ – dark internet

  2. Hello, every time i used to check weblog posts here early in the daylight, for
    the reason that i love to find out more and more.

  3. Stephenphync表示:

    Когда я впервые открыл эту платформу, ощущение было таким, будто я нашёл что-то особенное. Здесь каждый спин — это не просто азарт, а эмоция, которую ты проживаешь с каждым вращением.

    Дизайн создан для комфорта, словно невидимый проводник направляет тебя от момента к моменту. Финансовые движения, будь то пополнения или выплаты, проходят быстро, как поток воды, и это завораживает. А техподдержка всегда готова подхватить, как верный помощник, который никогда не разочарует.

    Для меня 1х бет стал местом, где азарт и искусство сплетаются. Здесь каждая игра — это часть истории, которую хочется переживать снова и снова.

  4. Wow, superb blog structure! How lengthy have you ever been running a blog for?
    you make running a blog glance easy. The full look of your web site is magnificent, let alone the content!

  5. BrandenSlomy表示:

    buy prednisone online without a prescription: Prednisone Without Prescription – prednisone prescription online

  6. StevenNub表示:

    buy amoxicillin online with paypal: where can i buy amoxicillin over the counter uk – amoxicillin 500 mg without prescription

  7. Spot on with this write-up, I honestly believe that this amazing
    site needs far more attention. I’ll probably be
    back again to read through more, thanks for the information!

  8. BrandenSlomy表示:

    Priligy tablets: priligy – dapoxetine price

  9. Nikefut表示:

    tor market links deep dark web https://darknetmarketstore.com/ – darknet websites

  10. DrableHub表示:

    I’m not sure exactly why but this weblog is loading extremely slow for me.

    Is anyone else having this problem or is it a problem on my end?
    I’ll check back later and see if the problem still exists.

  11. 88clb表示:

    Nice blog right here! Also your site lots up fast!
    What web host are you using? Can I am getting your associate link to your host?
    I want my site loaded up as quickly as yours lol

  12. bells codeine表示:

    Its such as you read my thoughts! You appear to know a lot about this, such as you wrote the e-book in it or something.
    I think that you just can do with some p.c.
    to power the message home a bit, however other than that, that is magnificent
    blog. A great read. I’ll certainly be back.

  13. Stephenphync表示:

    Когда я впервые открыл эту платформу, впечатление было таким, будто я переступил грань реальности. Здесь каждый спин — это не просто волнение, а момент, которую ты проживаешь с каждым кликом.

    Дизайн создан для комфорта, словно невидимый проводник направляет тебя от выбора к выбору. Транзакции, будь то пополнения или вывод средств, проходят плавно, как поток воды, и это вдохновляет. А техподдержка всегда рядом, как надежный товарищ, который никогда не подведёт.

    Для меня 1x bet стал пространством, где азарт и искусство переплетаются. Здесь каждая игра — это часть картины, которую хочется писать снова и снова.

  14. When someone writes an article he/she retains the plan of a user in his/her mind that how a user can be
    aware of it. Thus that’s why this paragraph
    is perfect. Thanks!

  15. StevenNub表示:

    can i buy generic clomid no prescription: clomid – where can i get cheap clomid price

  16. Vape Culture表示:

    Artfully expressed! You’ve covered it all about vape regulations!

  17. Xoven AI表示:

    I need to to thank you for this excellent read!!
    I certainly enjoyed every bit of it. I’ve got you book marked to check out new things you post…

  18. My brother recommended I might like this website. He was totally right.
    This post truly made my day. You can not imagine simply
    how much time I had spent for this info! Thanks!

  19. StevenNub表示:

    buy cheap prednisone: cheap prednisone – prednisone otc uk

  20. LeonardKnism表示:

    http://tomason-russia.ru – Профессиональное производство кухонь в Санкт-Петербурге.

  21. JacobLoody表示:

    https://mtucizone.ru/ — Прямые контакты и подробности на нашем официальном сайте.

  22. Hey! This post could not be written any better! Reading through this post reminds
    me of my old room mate! He always kept talking about this.
    I will forward this write-up to him. Fairly certain he will have a good
    read. Thanks for sharing!

發佈留言

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