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,479,906 Responses

  1. Hi there, I read your blog daily. Your story-telling style is witty, keep it up!

  2. HenrydeT表示:

    pinup pinup pin up казино

  3. CurtisIncix表示:

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

  4. Jamesdiure表示:

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

  5. CurtisIncix表示:

    pinup-kazi.ru: pinup kazi – pinup

  6. Josephmax表示:

    https://pinup-kazi.ru/# пин ап казино официальный сайт

  7. DarioTob表示:

    пин ап вход: pinup – pinup

  8. Sin embargo, esta es una función experimental solamente
    habilitada para los suscriptores Premium, por lo que primero necesitaremos estar dados
    de alta en la versión de pago para poder probarla.

  9. Content Spinning est le lieu où vous pouvez trouver des informations complètes et des astuces pour trouver le meilleur réformulateur de texte. Utilisez ces informations et conseils pour bien choisir votre outil de réformulation.

  10. DarioTob表示:

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

  11. bokep terbaru表示:

    This is really interesting, You are a very skilled blogger.

    I’ve joined your rss feed and look forward to seeking more of your
    wonderful post. Also, I’ve shared your website in my social networks!

  12. DarioTob表示:

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

  13. Iyannaobesk表示:

    свежие пароли на фрироллы jack poker
    актуальные пароли на фрироллы jack poker

  14. 24-Hours To Improve Steel Anal Plug buy anal sex Toys

  15. Michael表示:

    Telegram 是一款主打隐私保护和高安全性的即时通讯应用,广泛支持全球用户。虽然 Telegram 没有发布专门的“中文版”,但其支持简体中文和繁体中文语言,用户可以通过设置轻松切换到中文界面。Telegram 提供了包括加密聊天、语音通话、文件传输、大型群组和频道等丰富的功能,并且支持跨平台同步,用户可以在手机、电脑等设备上无缝使用。https://www.telcr.com

  16. Marie Aguilar表示:

    Your publish about popular hairstyles from other eras was so exciting and informative—thank you for placing it at the same time! For an identical issues, discuss with hair dresser

  17. LeonardKnism表示:

    http://flowers777.ru/ — Уникальные кухонные решения на любой вкус.

  18. Give yourself peace of mind during big projects by choosing reliable services like those offered by   **   **   **   **   **   *   **   **   **   **   **  ** , ** , ** , * … * … * … * .. Heavy debris dumpsters Orlando

  19. Jamesdiure表示:

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

  20. dewascatter表示:

    This article is truly a nice one it assists new internet
    users, who are wishing in favor of blogging.

  21. CurtisIncix表示:

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

  22. Bernice Blair表示:

    Thanks for the insightful write-up. More like this at https://1df999.com/

  23. Quality articles or reviews is the crucial to be a focus for the viewers to visit the site, that’s what this web
    page is providing.

    my page :: производство железоокисных пигментов

  24. Lora Walton表示:

    Thank you for discussing the magnitude of desirable waste leadership in pet keep watch over. It’s our duty as pet proprietors to clean up after our bushy acquaintances to maintain hygiene in public areas Exterminator

  25. Jamesdiure表示:

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

發佈留言

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