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,196,559 Responses

  1. отремонтировать стиральную машину в москве отремонтировать стиральную машину в москве .

  2. срочно починить стиральную машину centr-remonta-stiralnyh-mashin.ru .

  3. Meds information for patients. Brand names.
    cheap levaquin pills
    Everything trends of drug. Read information here.

  4. выезд мастера для ремонта стиральной машины http://www.centr-remonta-stiralnyh-mashin.ru .

  5. ремонт стиральных машин дома на выезде https://centr-remonta-stiralnyh-mashin.ru .

  6. 0270469表示:

    Are You Responsible For A What Causes Mesothelioma Other Than Asbestos Budget?

    10 Terrible Ways To Spend Your Money 0270469

  7. ремонт стиральных машин в москве рядом centr-remonta-stiralnyh-mashin.ru .

  8. cassylawn表示:

    Why Nobody Cares About Mesothelioma And Asbestosis
    cassylawn

  9. JosephToite表示:

    Coffeeroom https://coffeeroom.by – магазин кофе, чая, кофетехники, посуды, химии и аксессуаров в Минске для дома и офиса.

  10. Write more, thats all I have to say. Literally, it seems as though you relied on the video to make
    your point. You definitely know what youre talking about, why throw away
    your intelligence on just posting videos to your blog when you could be giving us something enlightening to read?

  11. Meds information for patients. Brand names.
    where to get fosamax pill
    All information about medicament. Read here.

  12. Meds information for patients. What side effects can this medication cause?
    can i order generic verapamil without dr prescription
    Everything information about medication. Get now.

  13. сервис ремонта стиральных машин centr-remonta-stiralnyh-mashin.ru .

  14. срочно починить стиральную машину https://centr-remonta-stiralnyh-mashin.ru/ .

  15. Medicine information leaflet. Effects of Drug Abuse.
    can i buy cheap irbesartan no prescription
    Actual what you want to know about medication. Read here.

  16. SonoFit表示:

    Howdy, i read your blog from time to time and i own a similar one and i was just curious if you get a lot of spam comments?
    If so how do you stop it, any plugin or anything you can recommend?

    I get so much lately it’s driving me mad so any help is very much
    appreciated.

  17. ремонт стиральных машин в москве ремонт стиральных машин в москве .

  18. 5 Killer Quora Answers On Double Glazed Window Repairs Near
    Me Double Glazed window Repairs near me

  19. Glyco Ease表示:

    Glyco Ease is a natural supplement that is
    designed to help individuals manage their blood sugar levels.

    It contains a unique blend of ingredients that have been shown to support
    healthy blood sugar levels and overall health.

  20. Medication prescribing information. Cautions.
    where can i get cheap kamagra
    Some about drug. Get here.

  21. The Lesser-Known Benefits Of Keys Programmed http://www.5611432.xyz

發佈留言

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