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,418,597 Responses

  1. Bezomealved表示:

    Понадобилось срочно заменить шины перед поездкой — около 22 тысяч рублей. Кредит оформлять времени не было. Вспомнил про Telegram-канал Займы без отказа на карту. Особенно порадовал список для людей с плохой кредитной историей, ведь у меня она такая. Нашел МФО с минимальной ставкой 0,8% и возможностью получить деньги без справок. Заполнил анкету, деньги пришли за 10 минут. Шины заменил, поездка удалась!

  2. Sauce bar表示:

    Wow that was strange. I just wrote an really long comment but after I clicked submit my comment didn’t
    show up. Grrrr… well I’m not writing all that over again. Anyhow, just wanted to say fantastic blog!

  3. StevenNub表示:

    where can i buy amoxicillin online: com pharm – amoxicillin 500 mg cost

  4. Nikefut表示:

    dark web sites links onion market https://darknetmarketstore.com/ – darknet market lists

  5. Markdob表示:

    Всем привет! Подскажите, где найтиразные блоги о недвижимости? Пока нашел – https://geotech48.ru

  6. Markdob表示:

    Приветствую. Может кто знает, где почитатьразные блоги о недвижимости? Пока нашел – https://geotech48.ru

  7. Hey! Do you know if they make any plugins to help with Search Engine Optimization? I’m trying to get my blog to rank for some targeted keywords but I’m
    not seeing very good results. If you know of any please share.
    Many thanks!

  8. Markdob表示:

    Приветствую. Подскажите, где почитатьполезные блоги о недвижимости? Пока нашел – https://geotech48.ru

  9. Iyannaobesk表示:

    jack poker отзывы игроков
    jack poker отзывы онлайн

  10. Markdob表示:

    Всем привет! Может кто знает, где найтиразные блоги о недвижимости? Пока нашел – https://geotech48.ru

  11. BrandenSlomy表示:

    can you buy amoxicillin uk: buy amoxicillin 500mg capsules uk – can we buy amoxcillin 500mg on ebay without prescription

  12. JacobLoody表示:

    кухня на заказ недорого москва — Доступные цены на качественные кухни на заказ в Москве.

  13. Nikefut表示:

    deep web drug store deep web links https://darknetmarketstore.com/ – black internet

  14. Dereketerm表示:

    buy generic clomid no prescription: clomid online – can i buy cheap clomid no prescription

  15. Hello great website! Does running a blog similar to this take a great
    deal of work? I’ve no expertise in coding but I was hoping to start my own blog
    soon. Anyhow, if you have any suggestions or tips
    for new blog owners please share. I understand this is off
    subject but I simply wanted to ask. Thank you!

  16. Descubra o mundo misterioso do desconhecido.
    Porque e que sonho com uma cruz partida?

    [url=https://joinhandsmarine.com/product/join-hands-coffee-mug-black/]Num sonho, apanhar coisas[/url] [url=http://nrp.i7.lt/index.php?/topic/926862-professional-school-essay-proofreading-services-for-phd/page-15#entry4036088]Sonha com um cao que morde o seu braco? Doeu e sangrou? Interpretacao de um sonho de acordo com diferentes livros de sonho[/url] [url=https://city4godnc.com/2022/08/10/hello-world/#comment-23400]Sonho de loja de penhores[/url] [url=http://147.47.238.227/bbs/board.php?bo_table=qna&wr_id=3428492]Num sonho, apanhar[/url] [url=http://matsuno.tv/yybbs/yybbs.cgi]Porque e que sonho com o kvass?[/url] 7c49793

  17. Ghost carts表示:

    Wow! This blog looks exactly like my old one! It’s on a entirely different topic but it has pretty much the
    same page layout and design. Great choice of colors!

  18. slot bet 10表示:

    At this time it seems like WordPress is the best blogging platform out there right now.
    (from what I’ve read) Is that what you’re using on your
    blog?

  19. Today, I went to the beachfront with my kids. I found a sea
    shell and gave it to my 4 year old daughter and said “You can hear the ocean if you put this to your ear.” She
    placed the shell to her ear and screamed. There was a hermit crab inside and it pinched her
    ear. She never wants to go back! LoL I know this is totally off topic but
    I had to tell someone!

  20. Medicament information leaflet. Cautions.
    metformin physiology
    All trends of medication. Get here.

  21. Thanks for the helpful advice. Discover more at Roofing Contractor Seattle

  22. AntonioDit表示:

    Накрутка поведенческих факторов
    накрутка поведенческих факторов москва
    Если ты когда-нибудь задумывался, почему твой сайт где-то на задворках Яндекса, а не сияет на первой странице, то ты по адресу. Сегодня мы разберемся, как раскрутить сайт в Яндексе, чем SEO для Яндекса отличается от Google, и что за загадочные поведенческие факторы все обсуждают. Поехали!
    Чем SEO для Яндекса отличается от Google?
    Давай начнем с того, что Яндекс и Google — это как два разных мира со своими правилами игры. Представь, что это как играть в футбол и в американский футбол: мяч вроде есть, но правила разные.

    1. Региональность
    Яндекс очень любит локальный контент. Если ты в Новосибирске, то Яндекс покажет тебе сайты из Новосибирска.
    Google более глобален и не так сильно зациклен на региональности.
    2. Поведенческие факторы
    Яндекс обращает внимание на то, как пользователи взаимодействуют с твоим сайтом: сколько времени проводят, сколько страниц просматривают и т.д.
    Google тоже смотрит на это, но не настолько фанатично.
    3. Ссылочное ранжирование
    Яндекс более скептически относится к количеству ссылок и больше ценит их качество.
    Google любит, когда на тебя ссылаются все и вся, но тоже ценит качество.
    4. Анализ контента
    Яндекс уделяет больше внимания морфологии русского языка и лучше понимает сложные конструкции.
    Google может иногда «спотыкаться» на наших падежах и склонениях.
    Что такое поведенческие факторы?
    А теперь к загадочным поведенческим факторам. Это как твой сайт ведет себя на первом свидании с пользователем. Если все круто — будет второе свидание (и хорошие позиции в выдаче).

    Основные поведенческие факторы:
    Время на сайте: сколько пользователь тусит на твоем сайте.
    Глубина просмотра: сколько страниц он посмотрел.
    Показатель отказов: ушел ли он сразу или задержался.
    Возвраты на сайт: возвращаются ли пользователи снова.

  23. StevenNub表示:

    priligy maxpharm: buy dapoxetine online – priligy max pharm

  24. Curtisduh表示:

    BBgate MarketPlace 2024 Breaking Bad Gate Forum
    BBgate MarketPlace

  25. Awesome! Its genuinely amazing paragraph, I have got
    much clear idea concerning from this piece of writing.

  26. cake表示:

    Thanks for finally talking about > JS 依照元素出現數量排序 – 馬老師 雲端研究室 < Loved it!

  27. tigrinho jogo表示:

    Hi! I’m at work browsing your blog from my new iphone! Just wanted to say I love reading through your blog and
    look forward to all your posts! Keep up the
    outstanding work!

  28. BrandenSlomy表示:

    prednisone 10 mg over the counter: cheap prednisone – can you buy prednisone over the counter in mexico

  29. I really like what you guys are up too. Such clever work and
    reporting! Keep up the superb works guys I’ve included you
    guys to my blogroll.

  30. parzin表示:

    I am curious to find out what blog platform you happen to
    be working with? I’m experiencing some minor security issues with my latest blog and I would like to find something
    more secure. Do you have any suggestions?

發佈留言

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