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

上线在即,项目经理在内部聊天工具上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(''));

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

上一篇:Aucxis推出新款固定式RFID读写器


下一篇:Linux日志管理高级进阶:实例详解syslog