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,524,198 Responses

  1. порно мультфильмы порно мультфильмы .

  2. 1 vin_gfSi表示:

    1вин сайт официальный [url=https://bbcc.com.kg/]https://bbcc.com.kg/[/url] .

  3. Rodneytus表示:

    deep web drug store https://github.com/darkwebmarketslinks/darkwebmarkets – darknet drug store onion market

  4. Лучшие электрокарнизы для профессиональной сцены, подчеркнут красоту представления.
    Трансформируйте свою сцену с электрокарнизами, обеспечивая плавное движение драпировок.
    Электрокарнизы для сцены с электронным управлением, дарят возможность воплотить любую идею.
    Лучшие электрокарнизы для профессиональных выступлений, где каждая деталь важна.
    Создайте неповторимую магию на сцене с электрокарнизами, с непревзойденным качеством и надежностью.
    Превратите ваше шоу с помощью электрокарнизов, которые способны изменить восприятие аудитории.
    Уникальные решения для каждого типа представления, которые обеспечат быстрое и плавное движение.
    Осуществите свои идеи с помощью электрокарнизов, способных придать умиротворение или напряжение вашему выступлению.
    Электрокарнизы – современное решение для сцены, с индивидуальным подходом к каждому проекту.
    Сотни вариантов электрокарнизов для ваших выступлений, обеспечив себе идеальный результат в каждом выступлении.
    электрокарниз для сцены для театров и концертных залов https://elektrokarniz8.ru/ .

  5. Rodneytus表示:

    dark websites https://github.com/darkwebmarketslinks/darkwebmarkets – darknet drug links darknet market list

  6. live Draw Hk表示:

    I delight in, lead to I found exactly what I was taking a look
    for. You’ve ended my 4 day lengthy hunt! God
    Bless you man. Have a nice day. Bye

  7. Charleskepsy表示:

    canadian pharmacy without prescription http://discountdrugmart.pro/# discount drugs

  8. Hello, I wish for to subscribe for this website to get latest
    updates, so where can i do it please help out.

  9. Charleskepsy表示:

    canadian pharmacy discount code http://easycanadianpharm.com/# reliable canadian online pharmacy

  10. where buy generic benemid for sale generic benemid tablets can i get cheap benemid pills
    where to get generic benemid without dr prescription can i buy cheap benemid pills can i buy cheap benemid without rx
    cost of cheap benemid without rx
    how to get benemid without dr prescription how can i get benemid online where to buy generic benemid pills
    where can i get cheap benemid without a prescription buying benemid online how to get cheap benemid online

  11. Rodneytus表示:

    darkmarket https://github.com/darkwebmarketslinks/darkwebmarkets – dark web drug marketplace tor markets

  12. секс у гинеколога [url=www.ginekolog-rukoeb1.ru]www.ginekolog-rukoeb1.ru[/url] .

  13. 1 vin_tcSi表示:

    1win зарегистрироваться http://www.bbcc.com.kg/ .

  14. MarkWat表示:

    Всем привет! Подскажите, где найтиразные блоги о кредитах? Сейчас читаю – https://yamal-stroy-invest.ru

  15. Dannyfut表示:

    dark net https://github.com/darknetmarketslinks/darknetmarketlinks – how to access dark web darknet websites

  16. MichaelGeony表示:

    prescription free canadian pharmacy https://easycanadianpharm.shop/# easy canadian pharm

發佈留言

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