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,110 Responses

  1. Charlesbot表示:

    http://maxpillsformen.com/# Generic Cialis price

  2. I think this is one of the most important information for me.
    And i’m glad reading your article. But wanna remark on some general things,
    The website style is wonderful, the articles is really great :
    D. Good job, cheers

  3. Iyannaobesk表示:

    интернет школа покера
    https://t.me/s/onlayn_shkola_pokera

  4. Charlesbot表示:

    http://fastpillsformen.com/# Viagra tablet online

  5. Ищете взломанными играми на Андроид? Тогда вы в нужном месте! Сегодня мы расскажем, как получить модифицированные версии топовых приложений.

    Зачем использовать взломанные игры? Причина очевидна: они дают возможность открыть все уровни, открыть платный контент и другие преимущества. Такие модификации делают геймплей интереснее.

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

    Среди популярных приложений для взлома: Subway Surfers, а также множество других. Каждая игра доступна взломанной версии, что дает возможность использовать неограниченными возможностями.

    Если вы только начинаете, взломанные приложения могут показаться сложными, но на самом деле ничего сложного. Обычно, нужно скачать APK-файл и запускаете его на устройстве. Важно помнить: убедитесь, что вы скачиваете.

    Однако, стоит учитывать, что использование модов может привести к правила лицензий, поэтому действуйте осторожно.

    Прямая ссылка на сайт:

    Если вас интересуют подобных приложениях, оставляйте комментарии. Будем рады помочь!

  6. 하이오피表示:

    Essential Questions To Ask Before A Stone
    Therapy Session 하이오피

  7. Hi, i believe that i saw you visited my site thus i got here to return the
    want?.I am trying to in finding things to enhance my web site!I suppose
    its adequate to use a few of your concepts!!

  8. Donaldabula表示:

    Cialis over the counter MaxPillsForMen.com Cialis without a doctor prescription

  9. Win Roulette – 10 Essential Approaches For Bigger Payouts!
    렌서 에볼루션

  10. 表示:

    wonderful publish, very informative. I wonder why the opposite experts of this sector don’t notice this.
    You must proceed your writing. I am sure, you have a great readers’ base already!

  11. I seriously love your blog.. Very nice colors & theme.
    Did you make this website yourself? Please reply back as I’m hoping to create my very
    own blog and want to learn where you got this from or exactly what the theme is called.
    Many thanks!

  12. Donaldabula表示:

    viagra canada Buy generic 100mg Viagra online Viagra online price

  13. Tyler Cooper表示:

    ”Wonderful insights shared here fuel enthusiasm within everyone seeking elevate their homes aesthetically via innovative partnerships established among proficienthighqualitylocalflooringsolutions successfully delivered without fail!” flooring services

  14. Pelvic Floor表示:

    Touche. Great arguments. Keep up the amazing work.

  15. Della Wallace表示:

    I appreciate all the information on VA loans—it’s such an important subject for our veterans mortgage broker Memphis

  16. Appreciate the comprehensive advice. For more, visit nose surgery

發佈留言

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