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,371,527 Responses

  1. DanielAbice表示:

    http://cipharmdelivery.com/# where to buy cipro online

  2. What’s The Reason Pragmatic Experience Is Fast Increasing To Be The Most Popular Trend In 2024 프라그마틱 정품확인방법

  3. SamuelBix表示:

    amoxicillin where to get: where can i buy amoxicillin over the counter – amoxicillin where to get

  4. Tyler Riley表示:

    I recently had my roof replaced by a local roofing company, and the experience was fantastic! The team was professional and efficient, and they really took the time to explain the different materials available Roof Replacement

  5. электрокарниз двухрядный цена http://www.elektrokarniz-dlya-shtor499.ru .

  6. JamesIncew表示:

    Каждый день миллионы водителей сталкиваются с опасностью, которую трудно увидеть — усталостью. Она не только снижает внимание, но и может стать причиной серьезных аварий. Не дайте усталости взять верх над вами – [url=https://justpaste.it/hz2gl]мониторинг транспорта[/url]

  7. мебельный поролон для дивана мебельный поролон для дивана .

  8. 202.90.141.17表示:

    Why Do So Many People Want To Know About Hobs? Hobs and
    ovens, 202.90.141.17,

  9. Aѡ, tbis wwas aan incrediblly gookd post. Takinbg a feww minjutes annd aactual еfforrt too crеɑte a
    toop notch аrticle… bbut wnat ccan I say… I
    pdocrastinate a whokle lott annd don’t manag too
    gett nealy anygһing done.

    Allso visit mmy web-site کلیک کنید و جایزه بگیرید

  10. KennethPah表示:

    can you buy generic clomid pill clomid on pharm where can i buy clomid without rx

  11. где купить поролон для матраса где купить поролон для матраса .

  12. Rogelio表示:

    I like the valuable information you supply to your articles.
    I will bookmark your weblog and take a look at once more here frequently.
    I’m rather sure I will be informed lots of new stuff right here!
    Good luck for the following! https://cl-system.jp/question/guide-complet-du-controle-parasitaire-a-gatineau-20/

  13. проектирование перепланировки в квартире zakazat-proekt-pereplanirovki-kvartiry11.ru .

  14. Hi mates, how is all, and what you wish for to say about this post, in my view its truly remarkable for me.

  15. купить мебельный поролон розница купить мебельный поролон розница .

  16. проект перепланировки квартиры для согласования цена проект перепланировки квартиры для согласования цена .

  17. RobertJar表示:

    buy amoxicillin 250mg: medicine amoxicillin 500mg – prescription for amoxicillin

  1. 2024-12-21

    hims sildenafil review

    hims sildenafil review

發佈留言

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