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,415 Responses

  1. It’s The Perfect Time To Broaden Your Best ADHD Medication For Adults With Anxiety And Depression Options strongest Adhd medication For adults

  2. Diplomi_sqma表示:

    купить диплом о высшем юридическом образовании купить диплом о высшем юридическом образовании .

  3. Pills information for patients. Cautions.
    where to buy cheap atarax pills
    Best trends of medicines. Get now.

  4. 14 Common Misconceptions About Large American Fridge Freezers American Fridge Freezers For Sale Uk

  5. The Reason Private ADHD Diagnosis UK Is Quickly Becoming The Most Popular Trend In 2023 Private Adhd Assessments

  6. Diplomi_bnOl表示:

    купить готовый диплом купить готовый диплом .

  7. гинекология выборгский район спб

  8. slot gacor表示:

    That is a very good tip particularly to those new to the blogosphere.

    Simple but very accurate info… Appreciate your sharing this one.
    A must read article!

  9. Sonia表示:

    You’ll Never Guess This Sectional Sofa With
    Chaise’s Benefits sectional sofa with chaise (Sonia)

  10. Wismabet表示:

    alwqys i սsed to rеad smller articles tһat aѕ welⅼ clеar their motive, and tһat is ɑlso happening with thiѕ post which I aam reading аt this place.

    my һomepage – Wismabet

  11. Diplomi_hvel表示:

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

  12. truck Lawyers表示:

    You’ll Never Be Able To Figure Out This Truck Lawyers Near Me’s Secrets truck Lawyers

  13. Diplomi_ehma表示:

    купить диплом в нижним тагиле landik-diploms.ru .

  14. Pragmatic Free Trial Tips From The Top In The Business 프라그마틱 슬롯 팁

  15. Istanbul_ewst表示:

    Основные моменты Istanbul International Airport, успешные этапы развития.
    Интересные факты о Istanbul International Airport, которые вас удивят.
    Строительство Istanbul International Airport, которые вызывают восхищение.
    Что ждет аэропорт в ближайшие годы, направления роста и совершенствования.
    Какие новшества ждут пассажиров, на что стоит обратить внимание.
    istanbul airport international flights istanbul airport international flights .

  16. 20 Trailblazers Setting The Standard In Fridge Freezer 5050 Fridge Freezer 50/50

  17. MichaelTig表示:

    Виртуальный номер телефона — это номер без SIM-карты. С Numero вы можете получить виртуальные телефонные номера в более чем 80 странах Виртуальный номер телефона Японии

  18. The Most Effective Reasons For People To Succeed In The Double Glazing Door Hinges Industry friction hinges (cline-thisted-2.technetbloggers.de)

  19. Istanbul_hdst表示:

    История и развитие Istanbul International Airport, успешные этапы развития.
    Необычные стороны аэропорта, о которых мало кто слышал.
    Особенности проектирования аэропорта, которые невозможно не отметить.
    Что ждет аэропорт в ближайшие годы, направления роста и совершенствования.
    Что делает аэропорт уникальным, какие услуги понравятся каждому.
    ist airport istanbul https://airportistanbulinternational.com/ .

  20. Pretty! This was an incredibly wonderful article. Many thanks for supplying this info.

發佈留言

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