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,625,608 Responses

  1. Christena表示:

    Action daughter XXX videos are except the weak of heart.

  2. Albertbiave表示:

    https://usacanadapharm.com/# usa canada pharm

  3. StephenCer表示:

    usa canada pharm: USACanadaPharm – USACanadaPharm

  4. TimothyDok表示:

    USACanadaPharm canadian pharmacy meds review adderall canadian pharmacy

  5. Sazruzs表示:

    Приобретение подходящего диплома через проверенную и надежную компанию дарит ряд плюсов для покупателя. Это решение помогает сберечь как продолжительное время, так и серьезные средства. Тем не менее, только на этом выгода не ограничивается, достоинств намного больше.Мы предлагаем дипломы психологов, юристов, экономистов и любых других профессий. Дипломы изготавливаются на подлинных бланках государственного образца. Доступная цена по сравнению с крупными расходами на обучение и проживание в чужом городе. Покупка диплома института будет разумным шагом.
    Заказать диплом: diplomt-v-chelyabinske.ru/kupit-diplom-s-reestrom-legko-i-vigodno-2/

  6. StephenCer表示:

    canada pharmacy online: pharmacy wholesalers canada – online canadian pharmacy

  7. Albertbiave表示:

    http://usacanadapharm.com/# usa canada pharm

  8. I truly love your site.. Very nice colors & theme. Did you make this web site yourself?

    Please reply back as I’m attempting to create my very own site and would like to know
    where you got this from or exactly what the theme is named.
    Kudos!

  9. Source URL表示:

    Hello there! I simply want to offer you a big thumbs
    up for your great info you’ve got right here on this post. I
    will be returning to your web site for more soon.

  10. Sazrwdz表示:

    Покупка документа о высшем образовании через проверенную и надежную фирму дарит много плюсов для покупателя. Данное решение помогает сэкономить как личное время, так и значительные финансовые средства. Однако, достоинств намного больше.Мы изготавливаем дипломы любой профессии. Дипломы производятся на оригинальных бланках. Доступная цена в сравнении с огромными затратами на обучение и проживание в чужом городе. Заказ диплома института будет мудрым шагом.
    Быстро заказать диплом: diplomservis.com/kupit-diplom-s-reestrom-bistro-i-bezopasno-2/

  11. Dwightkak表示:

    usa canada pharm: usa canada pharm – reliable canadian pharmacy

  12. Dwightkak表示:

    canada pharmacy online legit: canadian neighbor pharmacy – usa canada pharm

  13. StephenCer表示:

    USACanadaPharm: usa canada pharm – USACanadaPharm

  14. Albertbiave表示:

    https://usacanadapharm.com/# USACanadaPharm

  15. melbet_qkKl表示:

    melbet kg скачать https://melbet1002.ru .

  16. TimothyDok表示:

    USACanadaPharm www canadianonlinepharmacy usa canada pharm

  17. Samuelcuh表示:

    usa canada pharm: USACanadaPharm – usa canada pharm

  18. 1win_cckl表示:

    portofele electronice casino https://1win5026.ru .

  19. Hot swap of the pornography star children– you will not
    want to miss it!

  20. StephenCer表示:

    canadian pharmacy in canada: usa canada pharm – usa canada pharm

  21. Pedrocam表示:

    where to buy accutane uk Access medication details. Patient medication guide. buy accutane 10mg

  22. Sazrwzi表示:

    Приобрести диплом на заказ в столице можно через официальный сайт компании. sportysocialspace.com/read-blog/23306_diplom-vysshego-obrazovaniya-s-zaneseniem-v-reestr.html

發佈留言

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