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,604,256 Responses

  1. DonaldTyclE表示:

    equilibrado de rotores
    Equipos de ajuste: importante para el rendimiento suave y efectivo de las máquinas.

    En el ámbito de la innovación contemporánea, donde la productividad y la fiabilidad del equipo son de máxima trascendencia, los equipos de ajuste desempeñan un tarea vital. Estos sistemas dedicados están diseñados para calibrar y estabilizar piezas dinámicas, ya sea en equipamiento industrial, automóviles de transporte o incluso en equipos domésticos.

    Para los profesionales en reparación de aparatos y los ingenieros, trabajar con equipos de equilibrado es crucial para asegurar el operación suave y seguro de cualquier mecanismo dinámico. Gracias a estas soluciones innovadoras modernas, es posible disminuir significativamente las movimientos, el zumbido y la esfuerzo sobre los sujeciones, extendiendo la tiempo de servicio de partes caros.

    Asimismo importante es el rol que desempeñan los sistemas de calibración en la asistencia al comprador. El ayuda profesional y el mantenimiento regular usando estos aparatos posibilitan proporcionar soluciones de excelente nivel, incrementando la agrado de los clientes.

    Para los titulares de empresas, la inversión en unidades de equilibrado y sensores puede ser clave para optimizar la rendimiento y desempeño de sus equipos. Esto es particularmente significativo para los emprendedores que gestionan modestas y modestas organizaciones, donde cada punto es relevante.

    Además, los sistemas de calibración tienen una vasta uso en el sector de la protección y el supervisión de nivel. Posibilitan encontrar posibles errores, impidiendo arreglos elevadas y perjuicios a los equipos. Incluso, los indicadores generados de estos sistemas pueden emplearse para optimizar procedimientos y mejorar la presencia en buscadores de investigación.

    Las campos de implementación de los sistemas de calibración incluyen múltiples áreas, desde la elaboración de transporte personal hasta el control de la naturaleza. No interesa si se refiere de grandes elaboraciones manufactureras o reducidos talleres de uso personal, los equipos de ajuste son necesarios para promover un rendimiento efectivo y sin presencia de fallos.

  2. NikkiIncap表示:

    dark web drug marketplace darknet market lists

  3. LarryHiz表示:

    plinko nederland: plinko betrouwbaar – plinko betrouwbaar

  4. Thanks for finally talking about > JS 依照元素出現數量排序 – 馬老師
    雲端研究室 < Loved it!

  5. Boycenog表示:

    http://plinkodeutsch.com/# plinko casino

  6. Rachaelmax表示:

    Discover the world of comfort with our pools!
    We offer a wide selection of pools, their installation and maintenance.
    More detailed information on the link услуги строительство бассейна
    Create an oasis at home with high-quality solutions.
    Individual approach and guarantees for all work.

  7. LarryHiz表示:

    plinko germany: plinko wahrscheinlichkeit – plinko

  8. LeonardIcext表示:

    Начинаем продвижение интернет-магазина во ВКонтакте с основ: создание сообщества Витрину с товарами лучше всего разместить в группе или паблике услуги продвижение сайтов в топ яндекса

  9. Собственное производство металлоконструкций. Если вас интересует навесы из металлочерепицы для автомобилей мы предлогаем изготовление под ключ навес металлический для авто

  10. AshleApox表示:

    https://mostbet-wci8.top/ о возможностях мобильного приложения Мостбет для ставок на спорт на Андроид и iOS устройствах, а также обзор основных функций и преимуществ использования приложения.

  11. моды на игры для андроид — это удивительная возможность расширить функциональность игры.

    Особенно если вы играете на мобильном устройстве с Android, модификации открывают перед вами
    огромный выбор. Я нравится использовать взломанные игры,
    чтобы удобнее проходить игру.

    Модификации игр дают невероятную свободу в игре,
    что делает процесс гораздо красочнее.

    Играя с плагинами, я могу
    персонализировать свой опыт, что добавляет приключенческий процесс и делает игру более захватывающей.

    Это действительно невероятно, как такие изменения могут улучшить переживания от игры, а при этом сохраняя использовать такие взломанные версии можно без особых неприятных последствий, если быть внимательным и
    следить за обновлениями. Это делает каждый игровой процесс уникальным,
    а возможности практически выше всяких похвал.

    Советую попробовать такие игры
    с модами для Android — это может переведет ваш опыт на новый уровень

  12. Boycenog表示:

    http://plinkocasi.com/# Plinko-game

  13. Pabloslunc表示:

    plinko betrouwbaar plinko betrouwbaar plinko casino

  14. LarryHiz表示:

    plinko erfahrung: plinko – PlinkoDeutsch

  15. What’s Taking place i’m new to this, I stumbled upon this I have discovered It positively useful and it has helped
    me out loads. I’m hoping to give a contribution & help different customers like its helped
    me. Good job.

  16. Hi mates, good post and good arguments commented
    here, I am truly enjoying by these.

發佈留言

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