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,373,342 Responses

  1. Carrie Welch表示:

    I’ve been studying the different brands of nangs

  2. Aw, this was an exceptionally nice post. Finding the time and actual effort to generate a good article… but what can I say…
    I procrastinate a lot and never manage to get anything done.

  3. I love your insights on sustainable roofing materials! It’s great to see eco-friendly options gaining popularity. For more information on green roofing, check out Roofer Near Me

  4. Hi there! I simply wish to give you a big thumbs up for the great info you’ve got right here on this post.

    I am coming back to your blog for more soon.

  5. 4 Dirty Little Tips About Asbestos Mesothelioma Industry Asbestos Mesothelioma Industry mesothelioma Attorneys

  6. You’ve made your point extremely effectively!.

  7. Nikefut表示:

    darknet site deep web drug url dark market list

  8. Belle Benson表示:

    Such an informative read on digital strategies! Anyone needing help with their online presence should look at social cali of santa rosa if they’re located in Santa Rosa

  9. KennethPah表示:

    can you buy prednisone over the counter uk PredniBest buy prednisone online without a prescription

  10. MiguelUnind表示:

    https://amoxstar.com/# amoxicillin medicine over the counter

  11. KennethPah表示:

    how to get cheap clomid without insurance clomid on pharm can i get cheap clomid tablets

  12. May I simply just say what a comfort to find someone that really understands what they’re discussing online.
    You actually understand how to bring a problem to light and make it important.
    More people really need to check this out and understand this side
    of the story. I was surprised you aren’t more popular given that you most certainly possess the gift.

  13. RobertJar表示:

    amoxicillin 500mg prescription: AmoxStar – cost of amoxicillin 30 capsules

  14. lotus365表示:

    Lovely info. Thanks.

  15. Violet Olson表示:

    So glad I found your article on carpet care—it’s packed with useful information that I can apply immediately; checking out carpet cleaning company sounds great too!

  16. 10 Things Everybody Hates About Cot Bed best cot beds (maps.google.Com.ua)

  17. SamuelBix表示:

    prednisone 50 mg coupon: buying prednisone mexico – prednisone 10mg for sale

  18. DanielAbice表示:

    http://clomidonpharm.com/# how to get generic clomid for sale

  19. DanielAbice表示:

    http://amoxstar.com/# amoxil pharmacy

  20. Nikefut表示:

    deep web drug store blackweb official website deep web search

  21. MiguelUnind表示:

    http://clomidonpharm.com/# get cheap clomid online

  22. Idesys.Co.kr表示:

    Yesterday, while I was at work, my sister stole my iphone and tested to see if it
    can survive a 25 foot drop, just so she can be a youtube sensation. My iPad is now
    broken and she has 83 views. I know this is totally off topic but I had
    to share it with someone! http://idesys.Co.kr/bbs/board.php?bo_table=free&wr_id=39481

  23. aviator表示:

    As Summer is now upon us, suggests all of us have something to do now the sun is shining and schools out for the season. With many alternatives for things to do Milton Keynes, it’s frequently tough to narrow it down to simply a few. However, there are the good news is a few that can entertain the entire household, outlined in the following short article. So, if you wish to discover more about virtual truth Milton Keynes and a trampoline park Milton keynes, kept reading.

    Understandably, if you have a household that includes juniors you need to find something appropriate for them to delight in too. This is where a trampoline park Milton Keynes would be a great option. Why? They can jump to their heart’s material for a great timeframe. Not just are there numerous trampolines they can use, but also an attack course which is fantastic for getting everybody included. Furthermore, some parks permit individuals to experiment with backflips. And these can be done securely due to the crash mat areas offered.

    It’s crucial to bear in mind when attending a trampoline park Milton Keynes, to listen to the instructors at hand. This is to guarantee everybody getting in the park is safe, as there are some health and wellness risks everyone requires to be wary of. Although there are prospective dangers, this doesn’t imply you and your family can’t completely enjoy what trampolining needs to offer.

    Something a little various is virtual truth Milton Keynes. This is a reasonably brand-new activity which lots of can enjoy, as you can enter brand-new worlds right before your eyes. If you and your household can’t travel this year for whatever reason, you might find virtual reality Milton Keynes to be a great alternative as it permits its users to immerse themselves in their place on Earth. On the contrary, you can even go to other planets entirely.

    Some of the bundles that VR services offer, enable the whole family to have an enjoyable and thrilling experience. There are a wide variety of video games to choose, from racing to shooting zombies or being a castle warrior, there’s something for everybody to play in the entire family. What’s more, VR is a particularly friendly activity, as more than someone can get included with the experience together.

    If that does not tickle your fancy for things to do Milton Keynes, there are other activities to attempt. A few of these consist of indoor sky diving, bowling, indoor snowboarding and skiing, along with going to a gambling establishment. Depending on what you and your household want out of your day, is how you’ll select out of the choice above. Indoor skydiving is for those looking for a thrill, in addition to snowboarding and snowboarding. Whereas, attending a casino will provide a different vibe, as it’s just available to grownups over 18 years old.

    With all these things to do Milton Keynes this Summer, you hopefully won’t experience a bored moment. It’s excellent to keep in mind that these activities are perfect to take pleasure in on rainy Summer days, as they can all be discovered in one place.

  24. Personal injuries shouldn’t be faced alone; having a skilled lawyer can ease the concern substantially. Discover how they can assist at Giddens Law Firm

發佈留言

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