前端进阶|第十五天 位置有先后,排序很重要

上线在即,项目经理在内部聊天工具上Q我,这个排序啊,副总经理一定要在总经理后面,总监要在经理前面。。

当然传统的实现方案是,建立一个表,把这个排序规则用一个index标注一下,但一方面可能这个对应项目很少,一方面建表容易,维护麻烦。那有没有什么可以用代码直接搞定的呢?
然后就看到了盛大的一道笔试题。

在一个字符串数组中有红、黄、蓝三种颜色的球,且个数不相等、顺序不一致,请为该数组排序。使得排序后数组中球的顺序为:黄、红、蓝。

例如:红蓝蓝黄红黄蓝红红黄红,排序后为:黄黄黄红红红红红蓝蓝蓝。

不要被球搞蒙了,其实他这个就是一道排序题,只要懂得如何转换问题,实现起来就容易的多了。

       let str='红蓝蓝黄红黄蓝红红黄红';
        let arr=str.split('');
        let index={'黄':0,'红':1,'蓝':2}
        arr.sort((pre,next)=>{ return index[pre]-index[next]});
        console.log(arr.join(''));

今天有点短小,明天继续加油。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容