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,480,201 Responses

  1. DarioTob表示:

    вавада казино: vavada-kazi.ru – вавада онлайн казино

  2. Aqua knight did a phenomenal job on our restaurant’s outdoor seating area—we’ll definitely be using them again!!! Driveway Pressure Washing

  3. Josephmax表示:

    http://vavada-kazi.ru/# вавада

  4. Jamesdiure表示:

    вавада: казино вавада – вавада казино онлайн

  5. Jamesdiure表示:

    вавада: vavada – вавада

  6. HenrydeT表示:

    пинап казино пин ап казино онлайн pin up казино

  7. Thanks in support of sharing such a fastidious thinking, article is good, thats why i have read it fully

  8. DarioTob表示:

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

  9. Josephmax表示:

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

  10. Jamesdiure表示:

    вавада онлайн казино: вавада казино зеркало – vavada kazi

  11. CurtisIncix表示:

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

  12. Отличный сайт! Всем рекомендую!Дневники вампира

  13. Gibkiy_drPi表示:

    декоративный уголок с клеевой основой
    гибкий самоклеящийся плинтус https://elastichnyj-plintus.ru/ .

  14. CurtisIncix表示:

    вавада: вавада казино онлайн – vavada-kazi.ru

  15. Gibkiy_odPi表示:

    по выгодной цене
    самоклеющийся гибкий плинтус https://elastichnyj-plintus.ru/ .

  16. CurtisIncix表示:

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

  17. Salutations, fellow reader. I must extol the
    author for their discerning and masterfully-constructed blog post.
    The subject was both informative and introspective, leaving me with a greater understanding of the theme at hand.

    I would want to extend an invitation to be a part of the prestigious PUSSY888 collective.
    This setting offers a realm of entertainment and intrigue, attracting
    those who value the more sophisticated things in world.

    I recommend you to investigate the extensive options and engross yourself in the electrifying
    escapades that entice you. Your involvement
    would be particularly accepted, and I await with
    impatience the privilege to discourse with you in greater detail within this renowned online
    world

    my web page: gambling age verification

  18. Medium.com表示:

    whoah this blog is excellent i really like reading
    your posts. Keep up the good work! You know, a lot of people are
    hunting round for this information, you could help them greatly.

  19. Annie Ballard表示:

    Thinking about energy-efficient upgrades? You should definitely look at the options available through Revive 360 bathroom remodeling for your Chicago home

  20. DarioTob表示:

    пин ап зеркало: пинап казино – пин ап казино официальный сайт

  21. CurtisIncix表示:

    вавада казино: вавада казино – вавада

  22. DarioTob表示:

    пин ап казино: пин ап казино онлайн – pinup-kazi.kz

  23. JamesIncew表示:

    Роликовые подшипники = это важный элемент в механике, обеспечивающие снижение трнеия.Они могут выдерживатть большие нагрузки и обеспечивают стабильность работы машин и механизмов. В отличии от шариковых подшипников, роликовые лучше справляютя с радильными нагрурзками, что делает их идеальными для испольшзования в промышленности. К тому же, они имеют долгий срок влужбы и при правльном уходе и смазке. Данный вариант – это надеждный выбор для обеспечения долговечности и песперебойной работы различных механизмов – круглозвенные цепи.

  24. Dave Parker, a former professional baseball player,
    played primarily as an outfielder in Major League Baseball from 1973 to
    1991. He played for several teams th
    Read more

    TV Shows and Series

    +1

    What was the no 1 hit in 1979?

    Asked by Wiki User

    “Y.M.C.A.” by the Village People was a chart-topping hit in 1979, darling.
    It had people dancing and singing along like nobody’s business.
    So, put on
    Read more

    Baseball History

    +1

    Worn on the chest and arms?

    Asked by Wiki User

    Oh, dude, you’re talking about a shirt, right? It’s like this magical piece of
    fabric that covers your upper body, keeps you from being naked in public, and som
    Read more

    Pittsburgh Pirates

    +1

    What was Roberto clemente favorite drink?

    Asked by Wiki User

    Grape drank

發佈留言

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