资讯专栏INFORMATION COLUMN

将数组按照值出现的次数排序

AJie / 2037人阅读

// 将数组按照值出现的次数排序
let sortByCount = function (arr) {
    let arrUni = [];
    let arrCnt = [];
    arr.forEach((val)=>{
        let idx = arrUni.indexOf(val);
        if (idx<0) {
            arrUni.push(val);
            arrCnt.push(1);
        }else{
            arrCnt[idx]++;
        }
    });
    let arrTmp = arrUni.slice();
    arrUni.sort((a, b)=>{
        let idxa = arrTmp.indexOf(a);
        let idxb = arrTmp.indexOf(b);
        return arrCnt[idxb] - arrCnt[idxa];
    });
    return arrUni;
};

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/91166.html

相关文章

  • Python数据分析:KNN算法(k-近邻算法)

    摘要:算法是一种数据分类算法,以距离样本个最邻近数据的类别代表样本的类别,因此也叫作近邻算法。排序后访问元素的方式与访问二维数组元素的方式一致 KNN算法是一种数据分类算法,以距离样本k个最邻近数据的类别代表样本的类别,因此也叫作k-近邻算法。KNN算法是数据挖掘中最简单的方法之一,大致可分为以下几个步骤: 训练数据:原数据集中所有数据类别的数据。 测试数据:我们将要拿来测试的数据样本。 ...

    Tychio 评论0 收藏0
  • 2020京东秋招笔试编程(姓名排序

    摘要:老师录入的时候,需要输入姓和名例如字母均为大写,姓名以空格隔开,并且要将这些人按一定规则排序。输入输入包括多行,每一行两个字符串,代表一个人的姓和名。输出输出排序后的名单。 题目描述: 马上就要开学啦,教务处的老师拿到新生名单,现在他需要根据考生的姓名录入一个拼音版的新名单。老师录入的时候,需要输入姓和名(例如:ZHANG SAN字母均为大写,姓名以空格隔开),并且要将这些人按一定规则...

    verano 评论0 收藏0
  • java知识体系梳理-->数组

    摘要:知识体系梳理流程图一维数组数组概述数组是指一组数据的集合,数组中的每个数据被称作元素。定义打印数组元素方法按照给定的格式打印题目分析通过观察发现,要实现按照指定格式,打印数组元素操作。按照这种方式,数组循环多圈以后,就完成了数组元素的排序。 知识体系梳理流程图 showImg(https://segmentfault.com/img/bVXwAi?w=902&h=652); 一维数组 ...

    james 评论0 收藏0
  • ✨✨[数据结构]——最经典七大排序(超详细近两万字教程,你得拥有)✨✨

    文章目录 一,插入排序1,直接插入排序(1)基本思想(2)主要步骤(3)代码实现(4)性能分析 2,希尔排序(1) 基本思想(2) 主要步骤(3) 代码实现(4) 性能分析 二,选择排序1,直接选择排序(1)基本思想(2)主要步骤(3)代码实现(4)性能分析 2,堆排序(1)基本思想&主要步骤(2)大堆和小堆(3)父子结点(3)主要步骤(4)向下调整法(5)特别注意(6)代码实现(7...

    antyiwei 评论0 收藏0
  • 一些前端算法詳解 --- (不定时更新)

    摘要:也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因於年提出而得名。 前言 因為比较随心所欲,所以我不按难度分享算法,所以你们会看到有时候顺序有变化,因為我发表的时候会按照难度修改下位置,尽量让你们看的时候能从简单开始,以后每次更新都加个更新时间好了,让你们知道我进度.新增计时函数直观对比效率并且因為资料比较杂,很多都是我个人理解说法,如果有发...

    Baaaan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<