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,477,638 Responses

  1. Donaldabula表示:

    where can i get ed pills fast pills easy cheap ed meds online

  2. 카지노사이트 카지노사이트 카지노사이트 카지노사이트 카지노사이트 카지노사이트
    카지노사이트

  3. Are Times Tough? A Useful Cash Loan May Function As The Help Have 다바오 망고

  4. сколько стоит сделать загранпаспорт сколько стоит сделать загранпаспорт .

  5. Barrybib表示:

    Buy Cialis online: MaxPillsForMen – buy cialis pill

  6. сколько стоит сделать загранпаспорт сколько стоит сделать загранпаспорт .

  7. Roger Obrien表示:

    Appreciate the insightful article. Find more at office moving san diego

  8. Cory Bowers表示:

    Thanks for the great tips. Discover more at بلفاروپلاستی چیست

  9. Barrybib表示:

    buy viagra here: FastPillsForMen – Viagra Tablet price

  10. Barrybib表示:

    Cialis without a doctor prescription: MaxPillsForMen.com – cialis for sale

  11. Barrybib表示:

    Cialis without a doctor prescription: Generic Cialis without a doctor prescription – Cheap Cialis

  12. Barrybib表示:

    Cheap Viagra 100mg: cheap viagra – best price for viagra 100mg

  13. Fortune Mouse表示:

    I got this web page from my buddy who told me on the topic of this
    site and now this time I am visiting this web site and reading very informative
    posts at this place.

  14. This paragraph is really a nice one it helps new net viewers, who are wishing for
    blogging.

  15. Charlesbot表示:

    https://maxpillsformen.com/# Generic Cialis without a doctor prescription

  16. Diplomi_kiml表示:

    купить диплом дгту 2orik-diploms.ru .

  17. Helen Wheeler表示:

    So many benefits come from consulting with a local travel expert in Alpharetta—find yours today through travel agents

  18. Donaldabula表示:

    buy erectile dysfunction pills online cheap cialis order ed pills online

  19. BrettTIT表示:

    Cialis 20mg price in USA: Generic Cialis without a doctor prescription – Generic Cialis price

  20. Craig Green表示:

    Agradezco que se hable de la importancia de la energía solar en nuestra vida diaria solar panels torremolinos

  21. Donaldabula表示:

    cialis for sale MaxPillsForMen.com Cialis 20mg price in USA

  22. 789win表示:

    I blog frequently and I really appreciate your information. This article has really peaked my interest.
    I am going to bookmark your site and keep checking for new information about once a week.
    I opted in for your Feed too.

  23. gps-Int.com表示:

    Events – Will Call Vs Tickets 유흥 [gps-Int.com]

發佈留言

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