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,479,485 Responses

  1. DarioTob表示:

    вавада онлайн казино: вавада казино зеркало – vavada-kazi.ru

  2. DarioTob表示:

    пинап казино: pinup-kazi.ru – пин ап казино

  3. Nikefut表示:

    blackweb darkmarkets bitcoin dark web

  4. Medicines information sheet. Short-Term Effects.
    ezetimibe combined with atorvastatin maximizing lipid lowering benefits
    Everything what you want to know about medicament. Read now.

  5. Josephmax表示:

    http://vavada-kazi.ru/# vavada-kazi.ru

  6. CurtisIncix表示:

    pinup-kazi.kz: пин ап казино – пин ап кз

  7. Thanks for sharing your thoughts. I truly appreciate your efforts and I will be waiting for your next write
    ups thanks once again.

  8. DarioTob表示:

    pinup kazi: пин ап зеркало – пин ап зеркало

  9. DarioTob表示:

    pinup: пин ап кз – пин ап кз

  10. dewa slot表示:

    I’m truly enjoying the design and layout of your site.
    It’s a very easy on the eyes which makes it much
    more enjoyable for me to come here and visit more often.
    Did you hire out a designer to create your theme? Outstanding work!

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

    my homepage – latest dvd releases

  12. CurtisIncix表示:

    pinup: pinup-kazi.kz – пинап казино

  13. Emelia表示:

    For Whom Is Masturbators And Why You Should
    Care best masterbater [Emelia]

  14. Josephmax表示:

    http://pinup-kazi.ru/# пинап казино

  15. LeonardKnism表示:

    кухни от производителя – Высокое качество и надежность от проверенного производителя кухонь.

  16. DarioTob表示:

    пин ап казино: пин ап казино онлайн – пин ап казино онлайн

  17. LsgPaish表示:

    Stay home, shop your drugs online and enjoy a low price of amlodipine 20 mg daily it is necessary to take precautions.

  18. Josephmax表示:

    http://pinup-kazi.ru/# пин ап зеркало

  19. Iyannaobesk表示:

    jackpoker отзывы реальные
    jackpoker отзывы онлайн

  20. Formally, essential clinic does not sell medicines – this
    is allow make only Canadian pharmacies.
    You cannot legally buy clomid without script or sildenafil
    without a prescription.

  21. like it表示:

    Hello, Neat post. There’s a problem together with your site in internet explorer, might check this? IE nonetheless is the marketplace leader and a good component to other people will leave out your wonderful writing because of this problem.

  22. С помощью платформы вы можете легко найти микрозаймы с минимальными процентными ставками. Это удобное решение для срочных финансовых нужд.

    банки Казахстана Микрокредиты .

  23. For cost effective fees, take into consideration various car insurance in Dallas TX companies.
    Each car insurance coverage in Dallas TX firm supplies an assortment of
    plannings to satisfy your requirements.

發佈留言

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