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...

916,476 Responses

  1. ElmerWes表示:

    sildenafil oral jelly 100mg kamagra kamagra Kamagra 100mg

  2. Car Lock Repair Near Me Tips From The Top In The Industry lock key repair near me

  3. JamesNow表示:

    buy cenforce: cheapest cenforce – cenforce.pro

  4. ElmerWes表示:

    cheap viagra Cheapest place to buy Viagra Cheap Viagra 100mg

  5. Michel表示:

    The Greatest Sources Of Inspiration Of Upvc Windows Leeds
    double glazing door repairs – Michel

  6. GeorgeSep表示:

    sildenafil online: Buy generic 100mg Viagra online – best price for viagra 100mg

  7. The 10 Most Terrifying Things About Wood Burner Fireplace Wood Burner Fireplace

  8. JamesNow表示:

    kamagra: kamagra oral jelly – Kamagra 100mg

  9. CharlesDog表示:

    https://kamagra.win/# Kamagra Oral Jelly

  10. 10 Wrong Answers To Common Bonus Slots Questions: Do You Know The Right Ones?
    Hacksaw Slots Games

  11. ElmerWes表示:

    buy Levitra over the counter Cheap Levitra online Levitra 10 mg buy online

  12. Jerrold表示:

    You’ll Never Guess This Sectional Sofas Near Me’s Secrets sectional sofas near me (Jerrold)

  13. What’s The Current Job Market For Truck Accident Lawyers For Hire Professionals?
    truck Accident

  14. 7 Simple Tricks To Totally Intoxicating Your Robot Vacuum With Self Emptying Self-Emptying robot vacuums

  15. TylerPhona表示:

    http://kamagra.win/# cheap kamagra

  16. JamesNow表示:

    order viagra: viagras.online – sildenafil 50 mg price

  17. CharlesDog表示:

    http://cenforce.pro/# Buy Cenforce 100mg Online

  18. JamesNow表示:

    Buy Cenforce 100mg Online: cenforce for sale – Cenforce 150 mg online

  19. fuck表示:

    My partner and I stumbled over here different web page and thought I might as well check things out.

    I like what I see so i am just following you.
    Look forward to looking over your web page yet again.

  20. The Top Online Shopping Sites Uk Gurus Do Three Things 12 Gauge Anodized Wire

  21. 14 Cartoons About Cheap Online Shopping Sites
    Uk To Brighten Your Day Light-Up Pool Ball With Hanging Hook

  22. JamesNow表示:

    buy cenforce: Buy Cenforce 100mg Online – order cenforce

  23. DavidOwelo表示:

    https://cialist.pro/# Tadalafil price

  24. ElmerWes表示:

    cheap viagra Buy Viagra online Viagra without a doctor prescription Canada

  25. JamesNow表示:

    Buy Viagra online cheap: Cheap Viagra 100mg – Cheap Viagra 100mg

  26. ElmerWes表示:

    Cenforce 150 mg online cenforce for sale Cenforce 150 mg online

  27. Why CS GO Case New Will Be Your Next Big Obsession Offensive Weapon

  28. What To Look For To Determine If You’re Ready To Prada
    Bag Prada Bag Nylon

  29. 5 Lessons You Can Learn From 10kg Washing Machine Price 10Kg Washing Machine Prices

  30. attorneys表示:

    5 Killer Quora Answers On Cerebral Palsy
    Attorneys attorneys

發佈回覆給「attorneys」的留言 取消回覆

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