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,524,994 Responses

  1. MichaelGeony表示:

    legit non prescription pharmacies http://familypharmacy.company/# Cheapest online pharmacy

  2. mostbet_lopa表示:

    мост бет официальный сайт регистрация https://gtrtt.com.kg/ .

  3. WillieRap表示:

    discount drug mart: discount drug mart pharmacy – cheapest pharmacy for prescriptions

  4. Charleskepsy表示:

    pharmacy coupons https://discountdrugmart.pro/# discount drug pharmacy

  5. MichaelIncap表示:

    dark web links https://github.com/darknetmarketslinks/darknetmarketlinks – dark web sites links deep web drug links

  6. 1 vin_rlSi表示:

    сколько выводятся деньги с 1win http://www.bbcc.com.kg .

  7. gm6699.com表示:

    10 Myths Your Boss Is Spreading Concerning Buy Driving License Online köpa vårt C-körkort GöTeborg (gm6699.com)

  8. mostbet_dbpa表示:

    мостбет оригинал скачать https://gtrtt.com.kg .

  9. 1 vin_hqSi表示:

    букмекер 1win http://bbcc.com.kg .

  10. 유흥表示:

    Party Planning Made Easy With Cheap 유흥

  11. Davidnof表示:

    darknet market https://github.com/darkwebwebsites/darkwebwebsites – darknet search engine how to access dark web

  12. Why Buy C2 Certificate Is Fast Becoming The Hot Trend For 2024?
    Kaufen Testdaf Zertifikat online

  13. The 12 Most Popular Fiona Hyacinth Macaw Bird For Sale Accounts To Follow
    On Twitter hahns macaw For sale

  14. 1 vin_jeSi表示:

    один вин скачать один вин скачать .

  15. 15 Best Item Upgrades Bloggers You Need To Follow Best item upgrade

  16. Charleskepsy表示:

    drugstore com online pharmacy prescription drugs https://xxlmexicanpharm.com/# reputable mexican pharmacies online

  17. MarkWat表示:

    Привет. Может кто знает, где почитатьполезные статьи о кредитах? Сейчас читаю – https://sempk.ru

  18. 1win_reOa表示:

    1vin официальный сайт http://www.fabc.com.kg .

  19. 7 Simple Changes That’ll Make The Biggest Difference In Your Pallets Near Me
    Sell pallets near me, https://Palletwoodforsale83616.ziblogs.com,

  20. MichaelGeony表示:

    canadian pharmacy discount coupon http://familypharmacy.company/# Cheapest online pharmacy

  21. 1win_phOa表示:

    1вин партнерка [url=https://fabc.com.kg/]fabc.com.kg[/url] .

  22. 1win_hwOa表示:

    1вин [url=http://www.fabc.com.kg]1вин[/url] .

  23. Hiburan138表示:

    I’m gone to inform my little brother, that he should also pay a quick visit this weblog on regular basis to take updated from
    hottest news update.

  24. WillieRap表示:

    Online pharmacy USA: pharmacy coupons – Best online pharmacy

發佈留言

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