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,367,771 Responses

  1. buying generic imuran pill where can i get generic imuran without dr prescription buy generic imuran without a prescription
    can you get cheap imuran without dr prescription how can i get imuran without prescription can you buy cheap imuran without prescription
    get generic imuran without prescription
    where can i get imuran online can i order imuran without dr prescription can you buy cheap imuran without rx
    can you get generic imuran price buy imuran online buy cheap imuran no prescription

  2. What’s up to all, for the reason that I am really eager of reading this weblog’s post to be updated daily.

    It carries pleasant data.

  3. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт стиральных машин smeg рядом, можете посмотреть на сайте: ремонт стиральных машин smeg адреса
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  4. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт стиральных машин smeg, можете посмотреть на сайте: ремонт стиральных машин smeg
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  5. 오피表示:

    Singles Bar 오피

  6. How To Choose The Right Scooter Driving License On The Internet
    Ile Kosztuje Prawo Jazdy Na Skuter

  7. Nikefut表示:

    drug markets onion blackweb official website deep dark web

  8. KennethPah表示:

    prednisone 10 mg coupon PredniBest prednisone 10 mg coupon

  9. Lindsey表示:

    10 Of The Top Mobile Apps To Use For Buy A
    C Driving License Online Köp ett C-körkort online (Lindsey)

  10. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт стиральных машин smeg, можете посмотреть на сайте: срочный ремонт стиральных машин smeg
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  11. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт стиральных машин smeg в москве, можете посмотреть на сайте: ремонт стиральных машин smeg рядом
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  12. How Perform Poker – What I Learned From Poker Stars 세부 다바오 항공권

  13. EdgarWat表示:

    Интересные статьи о займах – https://www.fresher.ru/2021/01/28/besprocentnyj-zajm-kak-poluchit/

  14. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт стиральных машин smeg сервис, можете посмотреть на сайте: ремонт стиральных машин smeg сервис
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  15. KennethPah表示:

    can you get cheap clomid no prescription clomid on pharm order cheap clomid for sale

  16. Winnie Warren表示:

    I absolutely love how education robotics allows students to apply their knowledge in a hands-on and practical way. ρομποτικη για παιδια offers a fantastic platform for educators to explore this exciting field

  17. Marvelous, what a blog it is! This web site provides helpful information to
    us, keep it up.

  18. Oke.zone表示:

    Hello to all, how is everything, I think every one is getting more from
    this web page, and your views are pleasant in favor of new
    users. https://Oke.zone/profile.php?id=120241

  19. истинный запой [url=http://taksafonchik.borda.ru/?1-2-0-00001309-000-0-0-1730826374/]истинный запой[/url] .

  20. Howdy I am so excited I found your site, I really found you by mistake, while I was researching on Yahoo for something else, Nonetheless I am here now and would just like to say thanks for a
    marvelous post and a all round thrilling blog (I also love the theme/design), I don’t have time to read through it all at the minute but I have book-marked
    it and also added in your RSS feeds, so when I have time I will be back to read a great
    deal more, Please do keep up the excellent b.

  21. Carlos Graves表示:

    I often struggle with time management during the reading section; your tips are excellent! More insights available at strategies for IELTS reading time

發佈留言

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