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,664,815 Responses

  1. Excellent beat ! I would like to apprentice while you amend your website, howw can i
    subscribe for a blog website? The account helped me a approkpriate deal.
    I had been a little bit familiar of this your broadcast offered brijght
    clear idea

    My web-site – madridbet giriş

  2. StephenCer表示:

    USACanadaPharm: buy canadian drugs – USACanadaPharm

  3. Supplier Sinar Baja Medan – Jual BESI POLOS
    Terlengkap dikota medan, Harga PLAT RAIL Termurah dikota medan, Harga BESI COIL Terbaik dikota medan , Supplier
    BESI SIKU Termurah dikota medan – Sinar Baja

  4. Samuelcuh表示:

    canadian pharmacy online ship to usa: canadian pharmacy online – USACanadaPharm

  5. Sazrvup表示:

    Заказать диплом института!
    Купить диплом ВУЗа по доступной цене можно, обратившись к надежной специализированной компании. Приобрести диплом: diplom-zentr.com/poluchite-ofitsialnij-diplom-bakalavra-s-garantiej

  6. 1win_fnMn表示:

    игра ракета на деньги 1win игра ракета на деньги 1win .

  7. Albertbiave表示:

    https://usacanadapharm.shop/# online canadian pharmacy

  8. ideen korb表示:

    Selbermachen wird bei ideen korb mit Inspiration und praktischen Ratschlägen vermittelt.

  9. StephenCer表示:

    safe online pharmacies in canada: USACanadaPharm – USACanadaPharm

  10. Pedrocam表示:

    cheap accutane for sale Comprehensive pill overview. Medication guide available. where can i buy accutane in nigeria

  11. Trefuoq表示:

    Купить диплом о высшем образовании. Заказ документа о высшем образовании через качественную и надежную компанию дарит массу плюсов для покупателя. Такое решение помогает сберечь время и значительные финансовые средства. peticiones.net/482211

  12. StephenCer表示:

    USACanadaPharm: usa canada pharm – usa canada pharm

  13. Albertbiave表示:

    https://usacanadapharm.shop/# USACanadaPharm

  14. StephenCer表示:

    usa canada pharm: canadian pharmacy uk delivery – canada rx pharmacy

  15. мдма表示:

    Наркотики — это немерено безопасное развлечение,
    а этап буква разрушению. Снежок, мефедрон,
    эфедрин, МДМА, а также марихуана, ямба а также бошки убыстряют зависимость, разламывают психику, рушат здоровье.

    Преходящая праздник обворачивается депрессией, тревожностью да потерей смысла.
    Даже “легкие” ядовитый дурман — элитный шаг буква
    серьёзным проблемам. Стоит огонь мимолетное ферза обломанной
    жизни?

  16. Albertbiave表示:

    http://usacanadapharm.com/# USACanadaPharm

  17. Gracie Bon’porns scenes are simply remarkable, aren’t they?

  18. WilliamDeeli表示:

    Мы готовы предложить дипломы любых профессий по разумным ценам. Дипломы изготавливаются на настоящих бланках Приобрести диплом об образовании diplomk-vo-vladivostoke.ru

  19. WilliamDeeli表示:

    Мы изготавливаем дипломы любых профессий по приятным тарифам. Дипломы изготавливаются на настоящих бланках государственного образца Купить диплом университета diplomservis.com

  20. Samuelcuh表示:

    USACanadaPharm: safe canadian pharmacies – canadian pharmacy com

  21. WilliamDeeli表示:

    Мы предлагаем дипломы любой профессии по приятным тарифам. Дипломы изготавливаются на подлинных бланках государственного образца Заказать диплом ВУЗа diplomh-40.ru

  22. Sazrqlx表示:

    Заказать диплом любого института!
    Купить диплом ВУЗа по невысокой стоимости можно, обращаясь к надежной специализированной фирме. Купить диплом о высшем образовании: dip-lom-rus.ru/originalnie-diplomi-s-vneseniem-v-reestr

  23. Dwightkak表示:

    USACanadaPharm: canadian mail order pharmacy – usa canada pharm

發佈回覆給「StephenCer」的留言 取消回覆

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