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,523,973 Responses

  1. JosephZew表示:

    Вывод из запоя — это медицинская процедура, необходимая для восстановления организма после длительного употребления алкоголя. Это состояние, часто характеризующееся физическими и психоэмоциональными нарушениями, требует профессионального вмешательства. Симптомы абстиненции могут быть разнообразными и варьироваться от лёгкой тревожности до серьёзных нарушений в функционировании внутренних органов. Квалифицированная помощь в этот период позволяет минимизировать риски и значительно ускорить процесс выздоровления.
    Узнать больше – vyvod iz zapoya s vyezdom voronezh

  2. WillieRap表示:

    online pharmacy delivery usa: overseas pharmacy no prescription – no prescription needed pharmacy

  3. Tinder火种定制号购买tg: @DGFC168

  4. 1win_nyOa表示:

    букмекеры кыргызстана https://www.fabc.com.kg .

  5. Porterfax表示:

    top 10 pharmacies in india MegaIndiaPharm MegaIndiaPharm

  6. Michaelkig表示:

    darknet drug market https://github.com/darknetmarkets2025/darknetmarketlinks – dark web search engines dark web markets

  7. Porterfax表示:

    Mega India Pharm MegaIndiaPharm india pharmacy

  8. MarkWat表示:

    Привет. Может кто знает, где найтиполезные блоги о кредитах? Пока нашел – https://doveriecredit.ru

  9. Charleskepsy表示:

    prescription drugs from canada https://discountdrugmart.pro/# discount drug pharmacy

  10. Davidmoits表示:

    Online medicine order: Mega India Pharm – Online medicine order

  11. Michaelkig表示:

    tor darknet https://github.com/darknetmarkets2025/darknetmarketlinks – darknet marketplace deep web sites

  12. PENIPU表示:

    When someone writes an post he/she keeps the image of a user in his/her mind
    that how a user can understand it. Thus that’s why this paragraph is perfect.
    Thanks!

  13. mostbet_xipa表示:

    мостбет скачать бесплатно мостбет скачать бесплатно .

  14. First of all I would like to say excellent blog!
    I had a quick question which I’d like to ask if you don’t mind.
    I was interested to know how you center yourself and clear your mind prior to writing.
    I’ve had a difficult time clearing my mind in getting my ideas out.
    I truly do take pleasure in writing however it just seems like the first 10 to 15 minutes are usually
    lost just trying to figure out how to begin. Any ideas or tips?
    Kudos!

  15. 5 Laws Everyone Working In Double Pram Pushchair Should Know baby accessories

  16. Wonderful website you have here but I was curious if you knew of any user
    discussion forums that cover the same topics talked about here?

    I’d really love to be a part of online community where I can get advice from other
    knowledgeable people that share the same interest.
    If you have any suggestions, please let me know.
    Cheers!

  17. Davidmoits表示:

    drugmart: discount drug mart pharmacy – discount drug mart

  18. AngelCroft表示:

    torg1c.ru/ – Доступ к услугам, которые помогут выделить вашу продукцию.

  19. Davidnof表示:

    darkmarket link https://github.com/darkwebwebsites/darkwebwebsites – deep web markets darknet market

  20. WillieRap表示:

    discount drug mart pharmacy: drugmart – drugmart

  21. MichaelGeony表示:

    best online pharmacy no prescription https://xxlmexicanpharm.com/# xxl mexican pharm

  22. MarkWat表示:

    Приветствую. Может кто знает, где найтиполезные статьи о займах? Сейчас читаю – 22buh.ru

  23. Davidnof表示:

    blackweb official website https://github.com/darkwebwebsites/darkwebwebsites – tor dark web dark web link

發佈留言

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