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,261,061 Responses

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

  2. Fastidious respond in return of this difficulty with genuine arguments and telling the whole thing concerning that.

  3. Jamesdiure表示:

    пин ап казино: pinup – пин ап кз

  4. Nikefut表示:

    tor marketplace tor market links dark market link

  5. Oh my goodness! Impressive article dude! Thanks, However
    I am encountering problems with your RSS. I don’t know
    the reason why I can’t join it. Is there anybody having similar RSS issues?

    Anybody who knows the solution can you kindly respond?

    Thanks!!

    My blog post เว็บตรงไม่ผ่านเอเย่นต์ที่ดีที่สุด

  6. You actually make it seem so easy with your presentation but I find this topic to be
    actually something which I think I would never
    understand. It seems too complicated and very broad for me.
    I am looking forward for your next post, I will try to get
    the hang of it!

  7. CurtisIncix表示:

    пин ап казино онлайн: pinup – пинап казино

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

  9. I’m gone to tell my little brother, that he should
    also pay a visit this webpage on regular basis to take updated from most recent news update.

  10. DarioTob表示:

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

  11. This Site表示:

    My partner and I absolutely love your blog and find most of your post’s
    to be just what I’m looking for. Do you offer guest writers to write content
    to suit your needs? I wouldn’t mind producing a post or
    elaborating on some of the subjects you write in relation to here.

    Again, awesome web site!

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

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

  14. Very good info. Lucky me I discovered your blog by chance
    (stumbleupon). I have saved it for later!

  15. Josephmax表示:

    https://pinup-kazi.ru/# пинап казино

  16. HenrydeT表示:

    pinup pinup kazi pin up казино

  17. DarioTob表示:

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

  18. Medicament information leaflet. Generic Name.
    can i buy generic minocycline without rx
    Some information about drug. Read now.

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

  20. This info is worth everyone’s attention. When can I find out more?

  21. Пользователю придется привыкнуть к особой «геометрии» софта, но это связано с форматом и разрешением дисплея телефона.

  22. Nikefut表示:

    deep web drug markets darknet search engine free dark web

  23. go to my site表示:

    Hi there colleagues, nice post and good urging commented at this place, I am
    truly enjoying by these.

發佈留言

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