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,527,693 Responses

  1. I’m not positive where you’re acquiring your facts, but wonderful issue. I requirements to expend some time scholarship more or comprehension more. Thank you for brilliant information I was appearance for this knowledge for my task.

    my blog :: http://lodowisko.pszow.pl/forum/memberlist.php?mode=viewprofile&u=4324

  2. Great write-up! Media releases are vital for shaping media coverage and sharing important details.
    They help develop rapprt between businesses and journalists.

    Creating effective press releases involves being focused, tailored with the concerns of
    relevant press contacts. In the modern media landscape, press releases also act a critical role in online PR strategies.
    They not only inform traditional news outlets but likewise boost traffic
    and strengthen a brand’s online footprint. Integrating visuals, such as graphics, can enhance press releases significantly engaging and distributable.
    Evolving to the changing media sphere while keeping core strategies can substantially increase a Press Release; http://Www.engel-und-waisen.de/index.php/Benutzer:AlysaSpringfield,’s effect.
    What are your thoughts on utilizing multimedia in media statements?

  3. Gregorystush表示:

    Адвокаты Москвы – Помощь и услуги
    юрист по экономическим преступлениям москва
    помощь в сопровождении сделки с недвижимостью
    адвокат 159
    канцелярия октябрьского суда
    советский суд канцелярия телефон
    советский районный суд гражданская канцелярия
    адвокат помощь
    помощь арбитражного адвоката
    канцелярия железнодорожного районного суда
    юрист арбитраж

    Адвокаты компании «Первый Иск» обладают высоким уровнем юридической квалификации в разных правовых областях и гарантируют необходимую грамотную поддержку. Ведь по версии независимого рейтинга адвокатов и юридических фирм Москвы, наша компания “Первый иск” занимает ТОП 5 рейтинга!
    Закажите услуги адвоката, имеющего в практике выигранные уголовные дела. Юрист разберет ситуацию и составив стратегию защиты. Гонорар обсуждается и зависит от сложности дела. Гарантировано качественная работа от начала до конца. Действенная помощь адвоката на следствии и в суде.

    Защищаем по этим статьям: взятки, вымогательство, грабеж, ДТП с тяжкими телесными, изнасилование, использование подложного документа, клевета, контрабанда, кража, мошенничество, налоговые преступления, наркотики, организация проституции, причинение вреда здоровью, разбой, растрата, убийство, угроза убийством, фиктивная регистрация, халатность, хулиганство и др.

  4. Diplomi_xrel表示:

    возможно купить диплом man-diploms.ru .

  5. What’s up to every single one, it’s genuinely a good for me to visit this
    website, it consists of precious Information.

  6. Why You’re Failing At 2 In 1 Buggy Egg Stroller 2 In 1

  7. Guide To Accident Claim Lawyers: The Intermediate Guide In Accident
    Claim Lawyers Accident claim lawyer

  8. Diplomi_ymma表示:

    купить дипломную работу landik-diploms.ru .

  9. I absolutely love your blog and find almost all of your post’s
    to be what precisely I’m looking for. can you offer guest writers to write content in your case?

    I wouldn’t mind creating a post or elaborating on a lot of the subjects you write regarding
    here. Again, awesome weblog!
    https://paitosydneywarna.com/

  10. Diplomi_dcel表示:

    купить аттестат об среднем образовании купить аттестат об среднем образовании .

  11. принудительный вывод из запоя химки http://www.vyvod-iz-zapoya-himki13.ru .

  12. Hi there everyone, it’s my first visit at this web page, and paragraph is actually fruitful designed for me, keep
    up posting such articles.

  13. The 10 Scariest Things About Vauxhall Corsa Key Replacement Vauxhall Corsa Key Replacement

  14. вывод из запоя на дому в химкие вывод из запоя на дому в химкие .

  15. скорая наркологическая помощь круглосуточно skoraya-narkologicheskaya-pomoshch-moskva13.ru .

  16. Diplomi_mvel表示:

    купить диплом университета в челябинске man-diploms.ru .

  17. вывод из запоя круглосуточно химки вывод из запоя круглосуточно химки .

  18. slot gacor表示:

    Great blog! Is your theme custom made or did you download it from somewhere?
    A theme like yours with a few simple tweeks would really
    make my blog jump out. Please let me know where you got your design. Thanks

  19. Somebody essentially assist to make critically posts I’d
    state. This is the very first time I frequented your web page and so far?
    I amazed with the analysis you made to create this particular submit extraordinary.
    Magnificent job!

發佈留言

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