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,423,922 Responses

  1. LeroyBak表示:

    india online pharmacy Indian pharmacy online indianpharmacy com

  2. LeroyBak表示:

    best online pharmacies in mexico mexico pharmacy buying prescription drugs in mexico online

  3. Your Worst Nightmare About Sports Toto Result Latest It’s Coming To Life 토토사이트 추천

  4. Jorgeagopy表示:

    best medicine for ed: cheap prescription drugs – new erectile dysfunction treatment

  5. Donaldpraig表示:

    Раскрутка сайта в Яндексе
    продвижение сайта услуги
    Если вы хотите покорить просторы интернета и сделать свой сайт заметным в Яндексе, то вы попали по адресу. Давайте разберемся, как раскрутить сайт в Яндексе, чем SEO для Яндекса отличается от Google, и что такое поведенческие факторы. Пристегните ремни, будет интересно!
    Чем SEO для Яндекса отличается от Google?
    Итак, вы, наверное, думаете: «SEO есть SEO, какая разница?» Но нет! Яндекс и Google — это как разные вселенные со своими правилами игры.

    1. Алгоритмы ранжирования
    Яндекс больше ориентируется на региональность. Если ваш бизнес в Москве, то Яндекс покажет ваш сайт москвичам в первую очередь.
    Google больше глобален и обращает внимание на международные факторы.
    2. Поведенческие факторы
    Яндекс очень серьезно относится к поведенческим факторам. Это значит, что ему важно, как пользователи взаимодействуют с вашим сайтом.
    Google тоже учитывает это, но в меньшей степени.
    3. Учет ссылок
    Яндекс более скептически относится к количеству внешних ссылок и больше ценит их качество.
    Google любит, когда на ваш сайт ссылаются другие ресурсы, и учитывает это при ранжировании.

  6. Jorgeagopy表示:

    male dysfunction: low cost pharmacy – over the counter ed treatment

  7. LeroyBak表示:

    reputable indian pharmacies medicines from India indianpharmacy com

  8. boca777表示:

    It’s amazing to visit this web page and reading the views of all colleagues regarding this article,
    while I am also keen of getting know-how.

  9. Hurrah, that’s what I was seeking for, what a information! existing here at this weblog,
    thanks admin of this web page.

  10. What’s The Reason? Asbestos Attorneys Is Everywhere This Year
    mesothelioma attorneys

  11. Jorgeagopy表示:

    canadian online pharmacy: cheap medication – natural pills for ed

  12. Williamagric表示:

    canadian online drugs http://indianpharm24.pro/# best online pharmacy india

  13. LeroyBak表示:

    pharmacies in mexico that ship to usa Legit online Mexican pharmacy buying prescription drugs in mexico

  14. Dina表示:

    10 Facts About Chesterfield Corner Sofa That Will Instantly Make You Feel Good Mood corner
    chesterfield – Dina,

  15. DevonPhack表示:

    http://indianpharm24.pro/# reputable indian pharmacies
    treatment of ed

  16. I am regular visitor, how are you everybody?
    This post posted at this website is actually nice.

  17. DevonPhack表示:

    https://indianpharm24.pro/# cheapest online pharmacy india
    medication online

  18. Hi, yeah this article is genuinely good and I have learned lot of things from it regarding blogging.
    thanks.

  19. see here now表示:

    Every weekend i used to go to see this website, for the reason that i want enjoyment, for the reason that
    this this website conations truly pleasant funny material too.

  20. 10 Times You’ll Have To Be Aware Of Bean To Cup Machine bean To cup coffee machine offers

  21. Nona表示:

    20 Reasons Why Ecommerce SEO Agency Will Never Be Forgotten top seo agency london (Nona)

  22. Lashonda表示:

    Do You Need A Driving License For A Scooter:
    What’s The Only Thing Nobody Is Talking About prawo jazdy a1 – Lashonda

  23. Jorgeagopy表示:

    mexican drugstore online: mexican pharmacy – mexico drug stores pharmacies

發佈留言

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