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,480,598 Responses

  1. It’ll manage subject gross sales effectively.

  2. Medicament prescribing information. Short-Term Effects.
    metformin doctissimo
    Actual what you want to know about medicament. Read now.

  3. Those of Hispanic or Latino origins had been 6.67 of the inhabitants.

  4. I never realized how much the weather impacts roofing materials! Thanks for sharing this information. For anyone interested in roof repairs, check out roofing Contractor for expert advice

  5. Nikefut表示:

    dark web sites links dark web links drug markets onion

  6. See What 2 Seater Chesterfield Couch Tricks The Celebs Are Utilizing
    2 seater chesterfield couch

  7. Markdob表示:

    Всем привет! Может кто знает, где почитатьполезные блоги о недвижимости? Пока нашел – https://u-posad.ru

  8. выведение из запоя воронеж стационар https://family2.quadrobb.me/viewtopic.php?id=1841 .

  9. I love your blog.. very nice colors & theme. Did you design this
    website yourself or did you hire someone to do it for you? Plz answer back as I’m looking
    to create my own blog and would like to find out where u got this from.
    appreciate it

  10. Markdob表示:

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

  11. выведение из запоя воронеж стационар spilkuvannya.rolevaya.com/viewtopic.php?id=68 .

  12. Thanks very interesting blog!

  13. AlbertDuM表示:

    lisinopril1st: buy Lisinopril 1st – lisinopril1st

  14. Markdob表示:

    Приветствую. Подскажите, где почитатьразные статьи о недвижимости? Сейчас читаю – https://u-posad.ru

  15. лечение наркозависимости в стационаре лечение наркозависимости в стационаре .

  16. вывод из запоя в стационаре анонимно http://orehovo.anihub.me/viewtopic.php?id=2296 .

  17. лечение наркозависимости в стационаре http://gaslo.ukrbb.net/viewtopic.php?f=13&t=3413/ .

  18. выведение из запоя воронеж стационар https://obovsem.rolevaya.info/viewtopic.php?id=3681/ .

發佈留言

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