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,523,118 Responses

  1. Davidmoits表示:

    drug mart: discount drug mart pharmacy – drugmart

  2. 15 Best Pinterest Boards Of All Time About Replacement Handles For Upvc
    Windows Replacement Sash Windows Cost

  3. Davidmoits表示:

    canadapharmacyonline: easy canadian pharm – easy canadian pharm

  4. MichaelIncap表示:

    darknet markets https://github.com/darknetmarketslinks/darknetmarketlinks – darknet market darkmarket url

  5. Normanlix表示:

    1xBet provides a wide array of bonuses and promotions for its customers in 2025. These offerings include welcome bonuses, reload bonuses, cashback bonuses, and more. The welcome bonus is typically available to new customers making their first deposit, while reload bonuses cater to existing customers who make additional deposits https://danilova.ru/news/1xbet_kazino_promokod.html

  6. Allow me show you in my review of NewULife.

    Visit my website – House cleaning calgary

  7. امرن表示:

    It’s really a nice and helpful piece of info. I’m happy that you just shared this useful info
    with us. Please keep us up to date like this. Thank you for sharing.

  8. MarkWat表示:

    Приветствую. Может кто знает, где почитатьразные статьи о займах? Пока нашел – allealavto.ru

  9. Nice blog here! Also your web site loads up fast! What web host are you using?
    Can I get your affiliate link to your host? I wish my website loaded up as quickly as yours
    lol

  10. Porterfax表示:

    Online pharmacy USA Cheapest online pharmacy canadian pharmacy coupon code

  11. Надоело выбирать топовое игровое заведение? Хватит терять часы на непонятные сайты! Мы объединили для вас все самые выгодные предложения и надежную информацию о создании аккаунта в самых рейтинговых игровых клубах онлайн.

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

    Желаете узнать Рѕ эксклюзивных кодах Рё акциях, что недоступны РІ открытом РїРѕРёСЃРєРµ? Р’ таком случае быстрее подписывайтесь РЅР° наш Telegram-канал: Лучший РѕР±Р·РѕСЂ казино – Создание аккаунта. Там РІС‹ получите важную сведения Рѕ том, каким образом СЃ пользой начать делать ставки Рё зарабатывать РІ топовых виртуальных игровых клубах. РќРµ упустите СЃРІРѕСЋ возможность РЅР° огромный выигрыш!

  12. MarkWat表示:

    Привет. Подскажите, где почитатьразные статьи о кредитах? Пока нашел – https://doer-group.ru

  13. Theda表示:

    15 Gifts For The Buy A1 And A2 Driving License Online Lover In Your Life Köpa A1 Körkort (Theda)

  14. JacobLoody表示:

    кухни на заказ москва – Изготовление кухонь на заказ в Москве по доступным ценам.

  15. Thanks for every other informative web site. Where else may just I am getting
    that type of information written in such an ideal method?
    I have a venture that I’m just now running on, and I have been at the look out for such info.

  16. Davidmoits表示:

    Online pharmacy USA: family pharmacy – rxpharmacycoupons

  17. Howdy just wanted to give you a brief heads up and let you know a few of the
    images aren’t loading correctly. I’m not sure why but I think its
    a linking issue. I’ve tried it in two different web browsers and
    both show the same outcome.

  18. MichaelIncap表示:

    dark web market list https://github.com/darknetmarketslinks/darknetmarketlinks – darkmarket url tor markets 2025

  19. diltiazem normal dosage diltiazem 240 mg c capital when to take diltiazem er
    diltiazem 200 mg diltiazem action diltiazem 30 mg tablets
    diltiazem best time to take
    diltiazem 120 mg capsule c829 diltiazem patient warnings diltiazem hydrochloride 60 mg tablets
    diltiazem 300 mg er generic diltiazem 240 mg c capital diltiazem 60 mg tablet mylan

  20. Bookmarks表示:

    Real HGH Rewards (NewULife Hgh Gel Not Tested Yet).

    Here is my page … Bookmarks

  21. Rodneytus表示:

    dark markets 2025 https://github.com/darkwebmarketslinks/darkwebmarkets – deep dark web dark web search engine

  22. La valeur de viagra, viagra en ligne pharmacie, Aepde Magasin de. Viagra sans prescription, viagra en pharmacie, Nikobleach. Viagra 50 mg, viagra en canada, Unirbolivia Pharmacie. Bienvenue sur pharmacie -eu.org votre pharmacie en ligne France Belgique. Exemplaire de viagra, viagra en ligne pharmacie. Professionnel pharmacie dInde prix du suisse tadalafil, Pharmacie en ligne. Pharmacie En Ligne Viagra, festival de la imagen. Levitra Pharmacie En Ligne, Pharmacie en ligne, Les meilleurs prix.Pharmacie. Meilleurs produits de parapharmacie discount.La destination de choix pour tous. https://eurogeneriqueetfrance.com/erythroforte/ Generique Erythroforte Alternative

發佈留言

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