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,142,367 Responses

  1. JamesNow表示:

    Cialis over the counter: cialis generic – Buy Tadalafil 10mg

  2. Aaron表示:

    11 Strategies To Completely Block Your Online Shop Acupressure Bands For Pregnancy (Aaron)

  3. CharlesDog表示:

    https://cialist.pro/# cheapest cialis

  4. The Most Common Mistakes People Make With Pvc Window Repairs Upvc Window Repairs

  5. 14 Companies Doing An Excellent Job At Demo Slot slot Demo Slot

  6. ElmerWes表示:

    cheapest cenforce cenforce for sale Buy Cenforce 100mg Online

  7. Upvc Repairs Near Me Tools To Ease Your Daily Life Upvc Repairs Near Me Trick That Every Person Must Learn Upvc repairs near me

  8. JamesNow表示:

    Viagra generic over the counter: Cheap Viagra 100mg – Viagra generic over the counter

  9. Howdy! I know this is kinda off topic but I was wondering which
    blog platform are you using for this website? I’m getting
    sick and tired of WordPress because I’ve had issues with hackers and I’m looking at alternatives for another platform.
    I would be awesome if you could point me in the direction of a good platform.

  10. GeorgeSep表示:

    Buy Vardenafil online: Levitra generic price – Cheap Levitra online

  11. Incontestable Evidence That You Need Cerebral Palsy Compensation plain city cerebral palsy Law Firm

  12. Lanny表示:

    12 Facts About Foldable Cheap Treadmill That Will Get You Thinking About
    The Cooler Water Cooler foldable treadmill (Lanny)

  13. 9 . What Your Parents Teach You About Wood Burning Stove Modern wood Burning stove modern

  14. Jessieusasy表示:

    Приветствую, друзья!

    Мы представляем компания СЕО продвижения XRumer Art.

    Ваш онлайн-сайт, как мы заметили, только начинает набирать обороты. Чтобы максимально ускорить процесс его роста, готовы предложить наши услуги по внешней СЕО-оптимизации. Также у нас имеются недорогие и эффективные инструменты для SEO-специалистов. У наших специалистов значительный опыт, в арсенале присутствуют реальные рабочие кейсы – покажем по запросу.

    До конца месяца можем предложить скидку на все услуги – 10%.

    Среди наших предложений следующее:

    – Трастовые ссылки (нужно всем сайтам) – от 1,5 до 5000 рублей

    – Безанкорные ссылки (2500 штук) (желательно любым сайтам) – 3.900 рублей

    – Прогон по 110 000 сайтам (зона RU) – 2900 рублей

    – 150 постов в VK о вашем сайте (отличная реклама) – 3900 р

    – Статьи о вашем сайте на 300 топовых онлайн-форумах (мощнейшая раскрутка портала) – 29000 рублей

    – Мега Постинг – отличный прогон на 3 миллиона ресурсов (грандиозное размещение для ваших сайтов) – 39900 р

    – Рассылаем сообщения по сайтам через форму обратной связи – цена по договоренности, зависит от объема.

    Наши эксперты ответят на ваши вопросы, в любое время обращайтесь. принимаем usdt
    Телега: @exrumer
    Skype: Loves.ltd
    www: https://XRumer.cc

  15. GeorgeSep表示:

    buy kamagra online usa: buy kamagra online usa – buy Kamagra

  16. ElmerWes表示:

    Kamagra Oral Jelly kamagra oral jelly buy Kamagra

  17. The 10 Scariest Things About Pvc Window Repairs window repairs

  18. 5 Killer Quora Answers To Double Glazing Repairs
    Leeds Double Glazing Repairs Leeds (Maps.Google.Ml)

  19. I was suggested this website by my cousin. I am not sure whether this post is written by him as no one else know such detailed about my trouble. You are amazing! Thanks!

  20. vimeo.Com表示:

    3 Common Causes For Why Your Shopping Online Sites Isn’t Working (And What You Can Do To Fix It) Paint decontamination (vimeo.Com)

  21. ElmerWes表示:

    Kamagra tablets kamagra Kamagra Oral Jelly

  22. GeorgeSep表示:

    Buy generic Levitra online: Levitra generic price – Levitra generic best price

  23. How To Explain Double Glazing Deals Near Me
    To Your Grandparents double glazed door locks

  24. 5 Reasons To Be An Online Private Psychiatrist Sheffield Cost And 5 Reasons You
    Shouldn’t Private psychiatrist prices

  25. GeorgeSep表示:

    buy cenforce: buy cenforce – order cenforce

  26. vimeo.com表示:

    5 Killer Qora’s Answers To Shopping Online Site Clothes Whitmor Supreme Shelves (vimeo.com)

  27. Services表示:

    Why Local Window Repair Will Be Your Next Big Obsession? Services

  28. Anne表示:

    What’s The Job Market For Fridge Larder Professionals? fridge larder
    (Anne)

  29. lawsuit表示:

    5 Conspiracy Theories About Motor Vehicle Attorneys You Should
    Avoid lawsuit

  30. CharlesDog表示:

    https://kamagra.win/# п»їkamagra

發佈留言

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