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,230,103 Responses

  1. See What Audi A1 Key Replacement Tricks The Celebs Are Making Use Of audi a1 key Replacement (tealbookmarks.com)

  2. полный контроль над игрой — это замечательный способ улучшить игровой процесс.

    Особенно если вы играете на мобильном устройстве с Android,
    модификации открывают перед вами новые возможности.
    Я часто использую взломанные игры, чтобы удобнее проходить игру.

    Моды для игр дают невероятную свободу выбора, что
    погружение в игру гораздо интереснее.
    Играя с модификациями, я могу создать новый игровой процесс, что добавляет
    приключенческий процесс и делает игру более эксклюзивной.

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

    Советую попробовать такие
    модифицированные версии для Android — это может открыть новые горизонты

  3. Fewpal.Com表示:

    You’ll Never Guess This 4 Seater Chesterfield Sofa’s Benefits 4
    Seater Chesterfield Sofa (Fewpal.Com)

  4. Elmo表示:

    Beware Of These “Trends” About Car Key Programmer car key programer (Elmo)

  5. Diplomi_ghkn表示:

    купить диплом пту купить диплом пту .

  6. Matt表示:

    Trucking Accidents Lawyer 101 The Ultimate Guide For Beginners commercial truck accident lawyers (Matt)

  7. ClydePab表示:

    ultrabet tr online: ultrabet tr online – ultrabet giris

  8. ClydePab表示:

    matadorbet giris: matadorbet – matadorbet

  9. Ophelia表示:

    10 Great Books On Renault Megane Key Card Replacement renault
    master replacement key (Ophelia)

  10. CarrollUnton表示:

    deneme bonusu veren siteler betturkey betturkey.com https://slot-tr.online/# slot oyunlar?

  11. Diplomi_zfkn表示:

    купить диплом медбрата 1russa-diploms.ru .

  12. Тут можно преобрести сейф пожаростойкий противопожарный сейф

  13. CarrollUnton表示:

    deneme bonusu veren yeni siteler https://slot-tr.online/# slot tr online

  14. Bruceviomy表示:

    Ведь есть же десятки сервисов для номеров из других стран. А беларусские форумы огорожены, им подавай только их собственный картофель типа +375 купить виртуальный номер Австралии

  15. AtmlHesia表示:

    Simply compare online offers to buy ivermectin 3mg tablet on this site while sitting in your home

  16. You’ll Never Guess This Togel4d Login’s Tricks Togel4D Login (Opensourcebridge.Science)

  17. The families of asbestos victims may seek compensation from companies accountable for their exposure.
    A qualified asbestos compensation [https://Blowidea02.werite.net/ten-asbestos-litigation-myths-that-dont-always-hold] lawyer in virginia will help you understand your
    rights under the law and help you receive the compensation you
    deserve.

  18. Unquestionably believe that which you stated.
    Your favorite reason appeared to be on the internet the simplest
    thing to be aware of. I say to you, I definitely get irked while people think about worries that they just don’t know about.
    You managed to hit the nail upon the top and defined out the whole
    thing without having side-effects , people can take a signal.
    Will probably be back to get more. Thanks

  19. It is perfect time to make some plans for the future and it’s time to be happy.
    I have read this post and if I could I wish to suggest you few interesting things
    or tips. Perhaps you can write next articles referring to this article.
    I want to read even more things about it!

    https://poobpubtour.com/

  20. The 10 Scariest Things About Patio Doors Repairs Near Me patio doors Repairs near me

  21. Lamont表示:

    In a mesothelioma lawsuit lawyers will need to review all of a victim’s medical
    records. These records will contain a patient’s test results and diagnosis, which are often confirmed using
    lab tests, such as an X-ray CT scan or MRI.

    Also visit my homepage; asbestos compensation – Lamont,

  22. Diplomi_rdkn表示:

    диплом института купить диплом института купить .

  23. LarryCoell表示:

    ultrabet ultrabet tr online ultrabet yeni giris 1125

  24. ClydePab表示:

    matadorbet giris: matadorbet bid – matadorbet giris

  25. 15 Hot Trends Coming Soon About Replacement Lock For Upvc Door Upvc Door Lock Replacements

  26. Diplomi_zqkn表示:

    липовый диплом липовый диплом .

  27. Diplomi_gukn表示:

    купить диплом готовый купить диплом готовый .

  28. tubidy mp3表示:

    I loved as much as you will receive carried out right here.
    The sketch is tasteful, your authored material stylish.
    nonetheless, you command get got an shakiness over that
    you wish be delivering the following. unwell unquestionably come more formerly again since exactly the same nearly a
    lot often inside case you shield this increase.

發佈留言

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