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,612,984 Responses

  1. 1win_mber表示:

    игра 1вин 1win6053.ru .

  2. LanceFen表示:

    Lisin Express: buy zestril – Lisin Express

  3. I think this is one of the most significant info for me.
    And i am glad reading your article. But should remark on some general things, The web site style is wonderful,
    the articles is really excellent : D. Good job, cheers

  4. JamesIncew表示:

    Светодиодные лампы становятся все более популярными благодаря своей энергоэффективности, долговечности и экологичности. Мы предлагаем вам уникальную возможность — приобретать светодиодные лампы напрямую от завода. – swg светодиодное освещение.

  5. Richardaudit表示:

    https://zithpharmonline.shop/# ZithPharmOnline

  6. Cazrrim表示:

    Заказать диплом любого университета!
    Мы предлагаем документы учебных заведений, которые находятся на территории всей РФ. Дипломы и аттестаты делаются на бумаге самого высокого качества: meeting2up.it/@ramirowicken00

  7. Sazriov表示:

    Купить диплом об образовании!
    Купить диплом университета по невысокой цене можно, обратившись к надежной специализированной фирме. Заказать диплом: diplomk-vo-vladivostoke.ru/vot-neskolko-variantov-zagolovkov-sootvetstvuyushix-trebovaniyam-ofitsialnij-diplom-instituta-s-provodkoj-kupit-diplom-instituta-s-provodkoj-kupit-ofitsialno-kupit-diplom-instit

  8. Pingidiof表示:

    dark web market links https://github.com/aresonioncq0a7/aresonion – darknet markets

  9. site表示:

    Its modern design and user-friendly interface make it a great option for players looking for a quality online gambling experience.

  10. Danieldrymn表示:

    amoxicillin 500 coupon: AmOnlinePharm – purchase amoxicillin 500 mg

  11. Michaelscoob表示:

    amoxicillin 500 capsule: AmOnlinePharm – amoxicillin for sale

  12. Richardaudit表示:

    https://zithpharmonline.com/# ZithPharmOnline

  13. BrianTom表示:

    ZithPharmOnline ZithPharmOnline zithromax buy online

  14. JamesIncew表示:

    Круглозвенные цепи — это не просто элемент механики, а настоящая находка для бизнеса! Они широко используются в различных отраслях: от сельского хозяйства до строительства, обеспечивая надежную передачу усилия и долговечность – http://lit-info.ru/public/571/rolikovye-podshipniki/ – роликоподшипник.

  15. Michaelscoob表示:

    ZithPharmOnline: ZithPharmOnline – ZithPharmOnline

  16. BrianTom表示:

    AmOnlinePharm buy amoxicillin online no prescription AmOnlinePharm

  17. As a top Oak Ridge roofing contractor, we use only premium materials and proven installation techniques
    to protect your home from harsh weather conditions.

  18. BrianTom表示:

    antibiotic amoxicillin AmOnlinePharm buy cheap amoxicillin

  19. mpo8080表示:

    Magnificent beat ! I would like to apprentice while you amend your web site, how
    could i subscribe for a weblog website? The account aided me a acceptable deal.
    I had been a little bit familiar of this your broadcast offered brilliant
    clear concept

  20. I have actuallʏ been using VіsiSootһe fоr some time currently, and the improvement
    in my vision is remarkable. My eyes feel leѕs stretched, and I cann see more pⅼainly, evеn after
    lengthy hοurs of display time. Thhe all-natural formula is a huge рlus, and I love that іt’s made to support general eye hеalth and ѡellness.
    ᏙisiSоothe іss a fantastic product for anybody seeking to improve theі᧐r vision and eye health.

    Here is my web site :: Best natural supplements for eye care

發佈留言

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