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,238,897 Responses

  1. BrandenSlomy表示:

    how to get cheap clomid pills: buy clomid – buy clomid

  2. bokep cina表示:

    Hi to every single one, it’s genuinely a good for me to
    pay a visit this website, it includes helpful Information.

  3. Bradleygoath表示:

    where can i get amoxicillin 500 mg buy amoxil online where can i buy amoxicillin over the counter uk

  4. Uazrkji表示:

    Легальная покупка диплома о среднем образовании в Москве и регионах
    cabestessay.com/ege-kupit-attestat.html

  5. StevenNub表示:

    amoxicillin 500 mg tablets: Com Pharm – amoxicillin capsules 250mg

  6. What’s Happening i’m new to this, I stumbled upon this I’ve
    discovered It positively useful and it has aided me out loads.
    I’m hoping to contribute & aid different users like
    its helped me. Great job.

  7. StevenNub表示:

    cost of clomid without insurance: clomid – can you buy cheap clomid no prescription

  8. Pills information for patients. Drug Class.
    lisinopril 40 mg online
    Best trends of drugs. Read information now.

  9. Přijetí hypoteční platby může být problematické pokud nemáte rádi čekání v
    dlouhých řadách , vyplnění mimořádné formuláře , a
    odmítnutí úvěru na základě vašeho úvěrového skóre .
    Přijímání hypoteční platby může být problematické, pokud
    nemáte rádi čekání v dlouhých řadách , podávání extrémních formulářů
    , a odmítnutí úvěru na základě vašeho úvěrového skóre .

    Přijímání hypoteční platby může být problematické , pokud nemáte rádi čekání v dlouhých
    řadách , vyplnění extrémních formulářů
    a odmítnutí úvěrových rozhodnutí založených na úvěrových skóre .
    Nyní můžete svou hypotéku zaplatit rychle a efektivně
    v České republice. https://groups.google.com/g/sheasjkdcdjksaksda/c/Erjhs8ZY0Rs

  10. Тут можно преобрести купить сейф для ружья в интернет магазине сейфы для оружия

  11. This piece of writing is in fact a fastidious one it helps new web
    people, who are wishing in favor of blogging.

  12. StevenNub表示:

    prednisone sale: prednisone ray pharm – prednisone 50 mg price

  13. Uazrmhm表示:

    Диплом техникума купить официально с упрощенным обучением в Москве
    reklam-csere.hu/kupit-attestat-za-9-klass-otzivi.html

  14. Five Electric Fireplace Wall Mounted Projects To Use For Any Budget fireplaces wooden (https://fapset.Com/User/armmother4)

  15. SpectraX Bot表示:

    great issues altogether, you just received a new reader.
    What may you recommend about your post that you simply made some
    days ago? Any positive?

  16. Dereketerm表示:

    buy amoxicillin: com pharm – amoxicillin 500mg

  17. www.qq.com表示:

    This read opened my eyes! Do you think this trend apply to different niches?

  18. Dereketerm表示:

    amoxicillin 500mg capsules uk: Amoxicillin Com Pharm – purchase amoxicillin 500 mg

  19. Узнай все о варикоцеле причины возникновения варикоцеле у мужчин симптомы

  20. Laura表示:

    Are Mesothelioma Legal Just As Important As Everyone Says?
    mesothelioma attorneys (Laura)

  21. Тут можно преобрести сейф для ружья купить сейфы оружейные

  22. Hello to all, how is the whole thing, I think every one is
    getting more from this web site, and your views are
    pleasant in favor of new viewers.

    Have a look at my web page: เช่าชุดเจ้าสาว

  23. 9 . What Your Parents Teach You About Situs Togel Terpercaya situs togel terpercaya

  24. Five Killer Quora Answers To Pushchairs Car Seats Pushchairs Car Seats

  25. lepetitdep.ca表示:

    Your means of telling everything in this piece of writing is
    actually fastidious, every one be capable of without difficulty know it, Thanks a lot https://lepetitdep.ca/en/products/beurre-derable-1

  26. Nikefut表示:

    deep web drug links deep web drug markets darknet drug links

發佈留言

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