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,250,245 Responses

  1. Adam Hanson表示:

    Just had a one-time deep clean with P&J Cleaners vancouver maid service

  2. DustinTon表示:

    Эвакуатор с манипулятором – универсальное решение для перевозки автомобилей. Он сочетает функции обычного эвакуатора и крана-манипулятора. Это позволяет решать сложные задачи по эвакуации. Манипулятор может поднимать и перемещать грузы в труднодоступных местах https://bloggood.ru/photoshop/risovanie-3d-korobki-v-photoshop-fotoshop.html/

  3. I am not sure where you are getting your info, but good topic.
    I needs to spend some time learning more or understanding more.
    Thanks for wonderful info I was looking for this information for my mission.

  4. вывод из запоя в стационаре воронежа http://sportandpolitics.ukrbb.net/viewtopic.php?f=24&t=17825/ .

  5. лечение наркозависимости в стационаре pandora.ukrbb.net/viewtopic.php?f=2&t=12306 .

  6. BrandenSlomy表示:

    amoxacillian without a percription: can you buy amoxicillin uk – amoxicillin pharmacy price

  7. AMMUNTION表示:

    Hi there, I found your blog by way of Google while
    searching for a related matter, your website got here up, it appears to be like good.
    I have bookmarked it in my google bookmarks.
    Hello there, simply turned into aware of your blog through
    Google, and found that it is truly informative.
    I’m gonna be careful for brussels. I will appreciate if you continue this
    in future. A lot of other folks will likely be benefited out of your
    writing. Cheers!

  8. вывод из запоя в стационаре воронежа http://www.vishivayu.ukrbb.net/viewtopic.php?f=12&t=13444/ .

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

  10. I absolutely love your blog and find most of your post’s to be what precisely I’m looking for.
    Does one offer guest writers to write content for you personally?
    I wouldn’t mind creating a post or elaborating on a number of the subjects you write
    with regards to here. Again, awesome web log!

  11. Kolyaska_rdPl表示:

    Идеальная коляска Bugaboo для вашего малыша, Bugaboo – это не просто коляска, это инвестиция в комфорт и безопасность, Почему мамы выбирают коляски Bugaboo, Bugaboo: стиль и функциональность в одном, Bugaboo – это качество и надежность, Bugaboo Fox: лучший выбор для активных родителей, Bugaboo Donkey: простор для ваших малышей, Bugaboo Runner: коляска для активных мам.
    коляска bugaboo коляска bugaboo .

  12. BernardMop表示:

    purchase cytotec Misoprostol 200 mg buy online buy cytotec pills online cheap

  13. DarrenUnjuh表示:

    https://lisinopril1st.com/# buy Lisinopril online

  14. I was wondering if you ever thought of changing the layout
    of your site? Its very well written; I love what youve got to say.

    But maybe you could a little more in the
    way of content so people could connect with it better.
    Youve got an awful lot of text for only having one or 2 pictures.
    Maybe you could space it out better?

  15. Kolyaska_owPl表示:

    Идеальная коляска Bugaboo для вашего малыша, Bugaboo: лучшее решение для малыша и родителей, Как выбрать идеальную коляску Bugaboo для вашего малыша, Bugaboo: стиль и функциональность в одном, 5 причин выбрать коляску Bugaboo для вашего малыша, Bugaboo Cameleon: легендарная коляска для малышей, Bugaboo Ant: компактность и функциональность в одном, Bugaboo Lynx: современный дизайн и отличное качество.
    бугабу прогулочная коляска https://kolyaski-bugaboo-msk.ru/ .

  16. Kolyaska_pxPl表示:

    Bugaboo: комфорт и безопасность в каждой детали, Bugaboo: лучшее решение для малыша и родителей, Почему мамы выбирают коляски Bugaboo, Bugaboo: стиль и функциональность в одном, Bugaboo: легкость и управляемость в каждом краше, Какая коляска Bugaboo подойдет вашей семье, Bugaboo Ant: компактность и функциональность в одном, Bugaboo Buffalo: коляска для любых приключений.
    bugaboo fox2 коляска 2 в 1 black black black https://kolyaski-bugaboo-msk.ru/ .

  17. No matter if some one searches for his vital thing, thus he/she wants to
    be available that in detail, so that thing is maintained over
    here.

  18. This is a topic that is close to my heart… Thank you!
    Exactly where are your contact details though?

發佈留言

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