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,230,231 Responses

  1. 15 Gifts For The Bmw Replacement Key Lover In Your Life bmw Replacement key cost

  2. Ten Leeds Windows That Will Actually Change Your Life Upvc door lock repair leeds

  3. Паркур – это направление спорта, которое
    становится все более популярным среди подростков
    и молодежи. Это не просто
    движение, а целый стиль жизни. В
    настоящее время в каждом городе есть несколько
    школ, мы ждем вас
    школы для детей паркур в москве в Москве мы являемся одной из лучших.
    Давайте разберемся, что представляет из себя паркур: какие
    виды этого спорта существуют
    и какие из них наиболее популярны в России.

    Что такое паркур?
    Паркур (от французского «parcour» – бег) – это не только движение, но и искусство.
    Впервые это направление появилось в конце 20-го
    века в Париже. Французские
    и американские уличные танцоры использовали в своей практике элементы борьбы, акробатики
    и прыжков через препятствия. Годом рождения этого спортивного направления считается 1987, когда француз Давид Бель основал команду Yamakasi.
    Паркур начали использовать в качестве средства для преодоления препятствий и самозащиты, а затем –
    и для развлечения. Сначала занимались
    одиночки, пытаясь преодолеть препятствия,
    но по мере развития направления оно стало коллективным,
    и появились новые участники.
    Ребята стали передвигаться группами.

    Первые соревнования по паркуру
    прошли в Париже в 2007 году,
    а через год был открыт первый официальный
    клуб паркура.
    Сегодня паркур – это вид спорта, который включает в себя искусство преодоления препятствий, выживания
    и общения. В этом направлении спорта присутствуют элементы единоборств и спортивной
    гимнастики. Поэтапно паркур стал популярным, и мы делаем все
    возможное для его развития
    в Москве.

  4. WilliamRhype表示:

    https://lisinopril.network/# lisinopril 20 mg daily

  5. cheap表示:

    Learn About Locksmith Near Me Auto While Working From Home
    cheap

  6. WilliamRhype表示:

    https://lisinopril.network/# lisinopril from mexico

  7. WilliamRhype表示:

    http://finasteride.store/# cost of propecia no prescription

  8. LUX88表示:

    Ι read this piece of writing fully about the
    difference of hottest and preceding technoloɡieѕ, іt’s ɑmazing
    article.

    My homepage :: LUX88

  9. 20 Amazon Uk Online Shopping Clothes Websites Taking The Internet By Storm contemporary Patio end Table

  10. 10 Of The Top Mobile Apps To Window Repairs Leeds patio door repair Leeds

  11. treadmill表示:

    Five Killer Quora Answers On Treadmills For Home UK treadmill

  12. 7 Things About Fiat Ducato Replacement Key You’ll Kick Yourself For Not Knowing Fiat Punto Keys

  13. Karri表示:

    9 Lessons Your Parents Taught You About Motorcycle Accident Lawyer motorcycle accident lawyer (Karri)

  14. The Reasons Glass Repair Leeds Is The Most Sought-After Topic In 2023 Upvc door repairs meanwood

  15. RandallTaulp表示:

    cytotec online: Abortion pills online – buy cytotec pills online cheap

  16. RandallTaulp表示:

    ciprofloxacin generic: ciprofloxacin generic – ciprofloxacin generic

  17. The 9 Things Your Parents Teach You About Buy
    Mobility Scooters buy Mobility Scooters

  18. You need to be a part of a contest for one of the highest quality blogs online.
    I most certainly will recommend this blog!

    Here is my homepage :: Physiotherapie Albisrieden

  19. leewhan.com表示:

    The High Variance Slots Success Story You’ll Never Remember low variance Slots (leewhan.com)

  20. WilliamRhype表示:

    http://ciprofloxacin.tech/# ciprofloxacin order online

  21. Gail表示:

    Titration ADHD Tools To Help You Manage Your Daily Life Titration ADHD Trick Every Person Should Learn titration adhd
    (Gail)

  22. WilliamRhype表示:

    http://nolvadex.life/# tamoxifen dosage

  23. WilliamRhype表示:

    https://finasteride.store/# generic propecia prices

  24. RandallTaulp表示:

    tamoxifen citrate: tamoxifen dose – tamoxifen endometriosis

  25. Five Killer Quora Answers On ADHD Private Assessment UK Adhd Private Assessment Uk

  26. Introduction: Fit Flare Keto is a popular weight loss supplement that has
    gained a lot of attention in the market. Many people are turning to this product to help them achieve their weight loss goals.

    Feel free to visit my website; Fit Flare Keto Ingredients

  27. Igdncf表示:

    digoxin 250mg without prescription – buy verapamil 240mg online furosemide online

  28. Spectrum Case表示:

    10 CSGO New Cases-Friendly Habits To Be Healthy Spectrum Case

  29. MichaelZek表示:

    фулфилмент под ключ https://24fulfilment-marketplace.ru/

發佈留言

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