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,580,895 Responses

  1. Bradleygoath表示:

    buying prednisone from canada buy prednisone price for 15 prednisone

  2. StevenNub表示:

    how to purchase prednisone online: order Prednisone – prednisone online sale

  3. What’s The Job Market For Electric Media Wall Fire Professionals Like?
    electric media wall Fire

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

  5. StevenNub表示:

    prednisone 20mg tablets where to buy: Prednisone Without Prescription – prednisone 50 mg prices

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

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

  8. Meds information for patients. Short-Term Effects.
    duloxetine and chronic fatigue
    Actual what you want to know about medicament. Read here.

  9. 10 Best Mobile Apps For Best Crypto Casino casino games Crypto

  10. Donaldter表示:

    На сегодняшний день самым эстетичным методом протезирования считаются безметалловые коронки. При этом под словом «керамика» подразумеваются самые разные химические соединения безметалловые коронки в Волгограде

  11. Nikefut表示:

    darknet market list darknet drug market dark market link

  12. Тут можно преобрести сейф для ружья цена цена сейфа для оружия

  13. LeonardKnism表示:

    кухни на заказ спб — Ищете кухни на заказ в Санкт-Петербурге? Ознакомьтесь с нашими решениями.

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

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

  16. Dereketerm表示:

    buy amoxicillin without prescription: buy amoxil online – amoxicillin 200 mg tablet

  17. StevenNub表示:

    amoxicillin 200 mg tablet: Amoxicillin buy online – amoxicillin in india

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

  19. Asbestos Settlement was extensively used as an building material in the 1930s and into the 1970s.
    It was used in insulation for pipes, fireproofing products plasters and cements, car brakes and much more.

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

  21. Bradleygoath表示:

    amoxicillin 500mg buy online uk Amoxicillin for sale amoxicillin 500 mg without a prescription

  22. jeremycdak表示:

    и это правильно
    каждые сутки веб-сайт объявлений посещают огромное количество слушателей из различных городов Украины, ищут необходимые товары. исходя из всего вышесказанного можно смело говорить, что на нашем сайте вы действительно получаете возможность подобрать все, объявления Москва сайт доска что только способна потребоваться гражданину..

  23. Bradleygoath表示:

    Priligy tablets max pharm dapoxetine price

  24. DavidShoks表示:

    GasDank is your go-to for ordering weed online in Canada. We are a safe and discreet marijuana mail order service based in Toronto, Ontario, also offering same-day delivery throughout the GTA https://www.sinyetech.com.tw/golink?url=https://uberweedshop.co/maps/

  25. Wonderful article! This is the type of info that are supposed to
    be shared around the web. Shame on Google for not positioning
    this put up higher! Come on over and visit my web site .
    Thanks =)

  26. Nikefut表示:

    dark net blackweb deep web search

發佈留言

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