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,478,400 Responses

  1. DarioTob表示:

    pinup: пин ап вход – pinup-kazi.ru

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

  3. Нет необходимости заново регистрироваться на зеркале, вы можете получить доступ к нему, используя свое обычное имя пользователя и пароль.

  4. obsolete表示:

    Your way of explaining everything in this piece of writing is genuinely good, all can effortlessly be aware of it,
    Thanks a lot.

  5. Nikefut表示:

    dark market list deep web drug store darkmarket 2024

  6. Barry Smith表示:

    Không khí trong các sân chơi của Hitclub thật sôi nổi và hấp dẫn! HitClub

  7. CurtisIncix表示:

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

  8. Купить дженерики с доставкой по Санкт-Петербургу качественные препараты для повышения потенции
    на сайте https://men78.ru высокое качество производства Индии в наличии в СПБ

  9. Can I simply say what a comfort to find somebody who actually knows
    what they’re discussing over the internet. You certainly
    realize how to bring an issue to light and make it important.
    More people ought to check this out and understand this side of your story.
    I was surprised that you are not more popular since you certainly possess the gift.

  10. Milf表示:

    Thanks for your personal marvelous posting! I seriously enjoyed reading it,
    you are a great author. I will ensure that I bookmark your
    blog and will come back later on. I want to encourage you to ultimately continue your great posts, have a nice holiday weekend!

  11. HenrydeT表示:

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

  12. Hi there, I enjoy reading all of your post. I wanted to write a
    little comment to support you.

    Also visit my site :: realtor in volusia county fl

  13. HenrydeT表示:

    pinup пинап казино пин ап казино официальный сайт

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

  15. Appreciate this post. Will try it out.

  16. buket_pyma表示:

    Идеальный букет невесты для вашей свадьбы, которые вас вдохновят.
    DIY букет невесты: легкий и креативный способ, для особенного момента.
    Топ-10 свадебных букетов невесты, для создания завораживающего вида.
    Секреты выбора бюджетного букета невесты, для создания стильного образа без больших затрат.
    Свежие цветы или нет: какой букет невесты лучше, для сохранения воспоминаний о свадьбе.
    Букет невесты в стиле минимализм, который подчеркнет вашу нежность и изящество.
    Стильные сочетания букета и платья невесты, для создания гармоничного образа.
    букет невесты нижний новгород букет невесты нижний новгород .

  17. Josephmax表示:

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

發佈留言

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