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,526,227 Responses

  1. Private Psychiatrist Uk Tools To Help You Manage Your Daily Lifethe One Private
    Psychiatrist Uk Trick That Everybody Should Be Able To Private psychiatrist uk;
    worlds-directory.Com,

  2. Diplomi_zhOl表示:

    купить диплом 1992 diplomdarom.ru .

  3. Diplomi_msOl表示:

    куплю диплом сделать diplomdarom.ru .

  4. glucotrust表示:

    I truly love your website.. Excellent colors & theme. Did
    you create this web site yourself? Please reply back as I’m looking to create my
    very own website and would love to know where you got this from or what the theme is called.
    Appreciate it!

  5. Más aún, descargar dicho contenido y disfrutarlo de forma gratuita en nuestros teléfonos sin tener que pasar por complicados procesos o arriesgar la seguridad del mismo.

  6. Dominic表示:

    How To Choose The Right Window Repairs Milton Keynes On The Internet lock and key milton keynes
    Dominic,

  7. Diplomi_klel表示:

    купить диплом о высшем образовании цена отзывы купить диплом о высшем образовании цена отзывы .

  8. 15 Trends To Watch In The New Year Bristol Windows And
    Doors bifold door repairs near me – trade-britanica.trade

  9. Five Killer Quora Answers On L Shaped Couches
    For Sale l shaped couches for sale

  10. Sazrcod表示:

    Узнайте, как приобрести диплом о высшем образовании без рисков
    sntnika.forumex.ru/viewtopic.php?f=26&t=426

  11. psihoman.ru表示:

    The Magician’s Wand Seo Technique 구글상위노출, psihoman.ru,

  12. Diplomi_wuOl表示:

    купить диплом в мурманске купить диплом в мурманске .

  13. Diplomi_cjel表示:

    купить аттестат об окончании школы man-diploms.ru .

  14. Diplomi_ywel表示:

    купить диплом в грозном man-diploms.ru .

  15. 10 Reasons That People Are Hateful Of Large American Fridge Freezers
    american fridge freezers 80cm wide (https://wwwfrydgeuk50106.snack-blog.com/)

  16. The 10 Most Scariest Things About Private ADHD Assessment Liverpool Cost private adhd Assessment liverpool cost

  17. 14 Businesses Doing An Amazing Job At Sports Toto Latest Results 먹튀검증,
    https://Iowa-Bookmarks.Com/,

  18. Diplomi_rpel表示:

    купить диплом о средне техническом образовании купить диплом о средне техническом образовании .

  19. Istanbul_gast表示:

    Основные моменты Istanbul International Airport, развитие аэропорта на протяжении лет.
    Загадки и тайны Istanbul International Airport, которые вас удивят.
    Строительство Istanbul International Airport, которые невозможно не отметить.
    Планы и развитие Istanbul International Airport, направления роста и совершенствования.
    Сервисы и удобства Istanbul International Airport, что сделано для комфорта путешественников.
    new international airport istanbul https://airportistanbulinternational.com/ .

  20. slot gacor表示:

    If you desire to increase your knowledge only keep visiting
    this site and be updated with the hottest
    news posted here.

  21. Diplomi_haOl表示:

    купить диплом в белово diplomdarom.ru .

  22. Delmar表示:

    2 In 1 Pram System Techniques To Simplify Your
    Daily Lifethe One 2 In 1 Pram System Trick That Everybody Should Know 2 in 1
    pram system (Delmar)

  23. 20 Things Only The Most Devoted Mesothelioma Asbestos Claim Fans
    Know mesothelioma lawsuits

  24. Diplomi_yxOl表示:

    купить диплом о среднем образовании в магнитогорске diplomdarom.ru .

  25. 20 Things Only The Most Devoted Seat Arona Key Cover Fans Know Seat Leon Spare
    Key – https://Rubin-Ludvigsen.Hubstack.Net/

  26. 10 Meetups About Private ADHD Testing UK You Should Attend Private Adhd assessment dublin

發佈留言

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