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,479,020 Responses

  1. Jamesdiure表示:

    вавада казино: вавада казино – вавада

  2. HenrydeT表示:

    pinup kazi пин ап казино онлайн пин ап казино

  3. HenrydeT表示:

    pinup kazi пин ап казино пин ап казино

  4. web scam表示:

    It is not my first time to visit this web page, i am
    visiting this web site dailly and take good data from
    here every day.

  5. CurtisIncix表示:

    pinup kazi: пин ап зеркало – пинап казино

  6. Rachel表示:

    Cocktail Bar 제주유흥 (Rachel)

  7. DarioTob表示:

    пинап казино: pinup-kazi.kz – пин ап казино

  8. mpojaya表示:

    Thank you, I have recently been searching for info about this topic for a long
    time and yours is the greatest I have found out till now. However, what about the
    bottom line? Are you positive concerning the supply?

    Here is my blog post: mpojaya

  9. Jamesdiure表示:

    vavada kazi: вавада казино – vavada-kazi.ru

  10. GavinGen表示:

    Drug facts here. Medication essentials explained.
    sumatriptan instructions
    Find medicine info. Pill facts available.

  11. The 10 Most Worst Mens Sex Toys Failures Of All Time Could Have Been Avoided adult sex toys for Men

  12. CurtisIncix表示:

    пин ап кз: pinup kazi – pin up казино

  13. Cheap Cot Bed表示:

    What’s The Current Job Market For Cheap Cot Beds Professionals Like?
    Cheap Cot Bed

  14. Jamesdiure表示:

    пин ап вход: пин ап казино – пинап казино

  15. I savour, lead to I found just what I was having a look for.
    You have ended my 4 day long hunt! God Bless you man. Have a nice day.
    Bye

  16. Jamesdiure表示:

    пин ап вход: пин ап вход – пин ап казино официальный сайт

發佈留言

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