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,527,970 Responses

  1. вывод из запоя цены химки http://www.vyvod-iz-zapoya-himki12.ru/ .

  2. вывод из запоя капельница химки вывод из запоя капельница химки .

  3. вывод из запоя в стационаре химкиа вывод из запоя в стационаре химкиа .

  4. Concepcion表示:

    Why Best Place To Buy Bunk Beds Is More Dangerous Than You
    Believed kids bedroom furniture, Concepcion,

  5. bonusfws表示:

    Современные букмекеры предлагают различные варианты бесплатных ставок. Надежные БК с фрибетом дают возможность делать прогнозы без риска потери собственных средств. Такие предложения особенно популярны среди начинающих игроков.

  6. Excellent Feedback to Website Observation

    Amazing content! I’m absolutely delighting in the substance on this forum.

    Gain you previously contemplated about receiving
    encompassed by cyberspace gaming gaming activities?
    Evolution Casino is a brilliant website with a comprehensive choice of exceptional authentic table manager games.
    The experience is unbelievably captivating and true,
    it comes across as akin to you’re exactly in the casino in the actual gaming.

    Assuming you’re intrigued about experiencing the platform out, I’d be quite elated
    to grant my unique advice URL. The Evolution includes a brilliant signup incentive for potential recent bettors.
    It definitely undoubtedly advantageous checking furthermore
    provided you’re wanting a new cyberspace betting encounter.

    Thankfulness once more with regards to this personal site substance.
    Retain going the fantastic undertakings!

    Also visit my webpage; gambling podcasting (https://independent.academia.edu/)

  7. bonusqak表示:

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

  8. вызов скорой наркологической помощи http://skoraya-narkologicheskaya-pomoshch-moskva13.ru/ .

  9. Diplomi_ioel表示:

    купить диплом в южно-сахалинске man-diploms.ru .

  10. нарколог на дом вывод из запоя химки нарколог на дом вывод из запоя химки .

  11. Diplomi_buel表示:

    диплом о высшем образовании корочка купить man-diploms.ru .

  12. Irma表示:

    asbestos attorney (Irma) attorneys are committed
    to helping victims and families get the financial
    compensation they deserve. They are employed by national
    firms with access to asbestos databases and have a track record of
    winning significant cases and settlements.

  13. Diplomi_nema表示:

    купить диплом в чебоксарах landik-diploms.ru .

  14. Why Bmw Keys Is Fast Becoming The Hottest Trend Of 2023 cost Of replacement bmw key

  15. 10 Tell-Tale Warning Signs You Should Know To Get A New Asbestos
    Exposure Attorney Mesothelioma Lawyer

  16. Medicines information leaflet. Long-Term Effects.
    can you get cheap compazine
    Actual what you want to know about medicine. Get now.

  17. te.legra.ph表示:

    Do Not Make This Blunder On Your Search Engine Optimisation search engine optimisation uk (te.legra.ph)

  18. Diplomi_hjma表示:

    фальшивый диплом фальшивый диплом .

  19. Diplomi_vakl表示:

    купить диплом повара 5 разряда server-diploms.ru .

  20. Why Replacement Windows May Be More Dangerous Than You Realized Glass Replacement for windows

發佈留言

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