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,478,222 Responses

  1. Nikefut表示:

    deep dark web darknet drugs darkmarket url

  2. Janie Arnold表示:

    Mooi voorbeeld hiervan hoe samenwerking leidt tot betere resultaten zowel financieel als emotioneel gezien binnen vastgoed aankopen/verkoop processen ; read further on : ### makelaar

  3. Pills information leaflet. What side effects can this medication cause?
    generic phenergan for sale
    Everything about drug. Get here.

  4. My brother recommended I might like this web site. He was totally right.
    This publish actually made my day. You cann’t
    consider just how much time I had spent for this information! Thanks!

  5. DarioTob表示:

    вавада онлайн казино: vavada kazi – вавада

  6. GavinGen表示:

    Comprehensive drug overview. Medicine details here.
    sumatriptan homemade
    Patient medication resource. Patient drug leaflet.

  7. DarioTob表示:

    пинап казино: pinup – пин ап кз

  8. DarioTob表示:

    пин ап вход: пин ап казино – пин ап казино

  9. Jamesdiure表示:

    казино вавада: казино вавада – вавада казино

  10. Jamesdiure表示:

    пин ап казино: пинап казино – пин ап казино официальный сайт

  11. DarioTob表示:

    вавада казино: вавада онлайн казино – казино вавада

  12. DarioTob表示:

    vavada-kazi.ru: vavada – vavada

  13. Aborsi adalah表示:

    I am in fact pleased to glance at this web site posts which carries
    tons of useful data, thanks for providing such statistics.

  14. CurtisIncix表示:

    pinup-kazi.kz: пин ап казино – pinup-kazi.kz

  15. Кто ты есть на самом деле?
    В чем твое предназначение? В каком направлении
    лежит твой путь и как тебе по нему идти?

    Дизайн Человека расскажет об этом!

    – Даёт ощущение целостности – Снижает тревожность при выборе
    – Позволяет жить в согласии со своей природой – Даёт ощущение
    целостности – Снижает тревожность при выборе – Укрепляет доверие
    к себе – Снимает давление социальных стереотипов – Позволяет жить в согласии со своей природой –
    Даёт конкретные рекомендации по принятию решений

    Рейв-карта Human Design или Бодиграф.
    Human Design – это система для определения
    личной уникальности и своего предназначения в
    жизни. Дизайн Человека научит
    принимать правильные решения.

  16. Nikefut表示:

    tor markets links deep web drug links darknet sites

  17. Jamesdiure表示:

    пин ап казино: pin up казино – пин ап казино онлайн

  18. Hmm it appears like your site ate my first comment (it was extremely long) so I guess I’ll just
    sum it up what I wrote and say, I’m thoroughly enjoying your blog.
    I too am an aspiring blog writer but I’m still new to everything.

    Do you have any recommendations for first-time blog writers?
    I’d really appreciate it.

  19. bokep terbaik sma toket gede menyala banget

  20. I don’t know if it’s just me or if everybody else experiencing issues with your blog.
    It appears as if some of the text within your content are running off the
    screen. Can somebody else please comment and let me know if this is happening to them
    too? This might be a problem with my internet browser because I’ve
    had this happen before. Thank you

  21. DarioTob表示:

    vavada: вавада онлайн казино – вавада казино онлайн

  22. Having the content you need downloaded and stored on your PC or laptop means you won’t need an internet connection to watch it.

  23. ดอกไม้สามารถแสดงถึงความรัก ความปรารถนาดี และความอบอุ่นใจได้ดีมาก โชคดีที่ปัจจุบันมีร้านดอกไม้ใกล้ฉันมากมายที่ให้บริการหลากหลาย ดอกไม้ตกแต่งงานแต่งงาน ตอบโจทย์ทุกความต้องการอย่างลงตัว หากคุณกำลังมองหาดอกไม้สวยๆ ในราคาที่คุ้มค่า แนะนำให้เลือกใช้ร้านที่มีความเชี่ยวชาญในด้านการจัดดอกไม้โดยเฉพาะ แล้วคุณล่ะ มีร้านดอกไม้ใกล้ฉันที่ชื่นชอบอยู่แล้วหรือยัง?

    ร้านดอกไม้ใกล้บ้าน

  24. HenrydeT表示:

    казино вавада вавада vavada-kazi.ru

  25. Fantastic web site. A lot of helpful information here. I
    am sending it to some buddies ans additionally sharing in delicious.
    And of course, thank you for your sweat!

  26. DarioTob表示:

    пин ап казино: пинап казино – пин ап казино онлайн

  27. DarioTob表示:

    казино вавада: казино вавада – vavada

  28. DarioTob表示:

    пин ап казино: пин ап казино онлайн – pinup-kazi.kz

  29. Jamesdiure表示:

    пин ап казино: пинап казино – pinup kazi

發佈留言

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