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,129,819 Responses

  1. Drstobeese表示:

    drug store pharmacy: publix pharmacy free lisinopril – sumatriptan uk pharmacy

  2. What’s The Job Market For Daftar Situs Togel Professionals Like?
    Daftar Situs Togel

  3. Если вы искали где отремонтировать сломаную технику, обратите внимание – техпрофи

  4. Easydrorbix表示:

    cobix generic celebrex pharmacy: kroger pharmacy near me – pharmacy viagra prices

  5. What is New U Life SOMADERM Transdermal Gel.

    Look into my web-site … replacement windows near me uk

  6. 14 Questions You Might Be Refused To Ask Defra Approved Multi
    Fuel Defra Stoves Disadvantages (https://Offmarketbusinessforsale.Com)

  7. Authentic HGH Rewards (NewULife Hgh Gel Not Examined Yet).

    Look at my site home theater projector screen

  8. The bigger Slim battery, wonderful for longer runtimes.

    Look at my web blog; Gen2 Foil Drive Assist Max

  9. loft bed room表示:

    5 Laws Anybody Working In Wooden Loft Bed Should Be
    Aware Of loft bed room

  10. Emily表示:

    They have products to offer or solutions to use.

    My web site: outdoor ranch wedding venues texas (Emily)

  11. A synthetic USP human development hormone (somatropin).

    My web page best shoulder surgeons nyc

  12. Если вы искали где отремонтировать сломаную технику, обратите внимание – ремонт бытовой техники в челябинске

  13. Bookmarks表示:

    USP human development hormonal agent (somatropin).

    Visit my web-site; Bookmarks

  14. Как избежать дубликатов номеров при регистрации автомобиля, Как разобраться с повторяющимся номером на машине, Как проверить наличие дубликата номера на вашем автомобиле, Как избежать неприятных последствий из-за повторения номера на машине.
    дубликат номеров на авто https://www.gosnomer-dublikat.ru .

  15. A Retrospective What People Said About Key Fob Repairs 20 Years Ago Key fob repairs near me

  16. Drstobeese表示:

    is rx pharmacy coupons legit: online pharmacy lasix – mebendazole uk pharmacy

  17. Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
    Мы предлагаем: сервис центры бытовой техники москва
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  18. Easydrorbix表示:

    online pharmacy in germany: how much is adipex at the pharmacy – rx hmong pharmacy

  19. Если вы искали где отремонтировать сломаную технику, обратите внимание – тех профи

  20. The 10 Most Scariest Things About Programmable Car Keys
    Programmable Car Keys

  21. What Do You Know About Bandar Toto? Toto online Terbaik

  22. They have products to market or solutions to use.

    My web blog – ceramic mug pottery wheel

發佈留言

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