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,231,670 Responses

  1. DavidOwelo表示:

    https://cenforce.pro/# Cenforce 150 mg online

  2. vesti46.ru表示:

    14 Misconceptions Common To Are CSGO Cases Predetermined hydra Case (vesti46.ru)

  3. Ꮋi, after reading this awesome post і am also delighted to share my knowledge here with friends.

    Here is my page … һarga u ditⅽh precɑst (https://biowiki.clinomics.com)

  4. The 10 Most Terrifying Things About Renault Replacement Key Card how to Open renault key card

  5. ElmerWes表示:

    Generic Levitra 20mg Cheap Levitra online Levitra 20 mg for sale

  6. Window doctor表示:

    11 Creative Methods To Write About Sash Window Repair Window doctor

  7. Gudang138表示:

    Thanks to my father who stated to me on the topic of this
    blog, this webpage is in fact amazing.

  8. Be On The Lookout For: How Upvc Windows Near Me Is Gaining
    Ground, And How To Respond Upvc Window Repair

  9. DavidOwelo表示:

    http://levitrav.store/# Cheap Levitra online

  10. price表示:

    11 Strategies To Completely Redesign Your Ghost Immobiliser Installation price

  11. ElmerWes表示:

    Cenforce 100mg tablets for sale cheapest cenforce order cenforce

  12. Chassidy表示:

    You’ll Never Guess This Ai Rewriter’s Benefits ai rewriter (Chassidy)

  13. RichardTib表示:

    Привет, поклонники захватывающих приключений! Предлагаю рассказать своим восхищением от онлайн заведения “официальный сайт казино селектор”. Это не всего лишь веб-сайт для игр, это абсолютный вселенная эмоций и увлечений! Здесь я обнаружил все, что мне необходимо: многообразие игр, благородные бонусы и безотлагательные выплаты. Но самое – это окружение, которая правит здесь. Имитированные приключения, захватывающие турниры и сырое сообщество игроков делают каждую игру беззабвенной! Присоединяйтесь к “Селектор играть” и окунитесь в вселенную интригующих развлечений!

  14. Good day! I know this is kind of off topic but I was wondering if you knew
    where I could find a captcha plugin for my comment form?
    I’m using the same blog platform as yours and I’m having difficulty
    finding one? Thanks a lot!

  15. Upvc repair表示:

    The Sage Advice On Upvc Window Repairs From A Five-Year-Old Upvc repair

  16. GeorgeSep表示:

    Viagra generic over the counter: viagras.online – Cheapest Sildenafil online

  17. CharlesDog表示:

    https://levitrav.store/# Vardenafil buy online

  18. miguelpidorb表示:

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

  19. Nine Things That Your Parent Taught You About Window Doctor Near Me Window Doctor Near Me

  20. liga 365表示:

    Hey are using WordPress for your blog platform? I’m new to the blog world but I’m trying to get started and create my own. Do you
    require any coding knowledge to make your own blog?
    Any help would be really appreciated!

  21. CharlesDog表示:

    http://levitrav.store/# Buy Vardenafil 20mg

  22. The Best Advice You Can Ever Receive On Railroad Injuries Legal port jervis railroad injuries attorney

  23. Could Car Diagnostic Near Me Be The Answer To Dealing With 2022?
    mobile diagnostics near me

  24. CharlesDog表示:

    https://cenforce.pro/# buy cenforce

  25. DavidOwelo表示:

    https://cialist.pro/# Cialis 20mg price in USA

  26. 9 Things Your Parents Taught You About Car Key Cutting Manchester car key cutting manchester

  27. ElmerWes表示:

    Cheap generic Viagra online generic sildenafil Viagra Tablet price

  28. GeorgeSep表示:

    Viagra online price: Cheapest place to buy Viagra – Buy generic 100mg Viagra online

  29. JamesNow表示:

    cialis for sale: Generic Cialis without a doctor prescription – Cialis without a doctor prescription

  30. DavidOwelo表示:

    http://levitrav.store/# Levitra 10 mg buy online

發佈留言

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