首页 > 编程语言 > 详细

将数组中乱序的红黄蓝绿进行排序,达到[红...黄...蓝...绿...]的效果

时间:2020-09-19 13:18:35      阅读:64      评论:0      收藏:0      [点我收藏+]

要求:

数组:
["红", "黄", "红", "绿", "蓝", "绿", "红", "绿", "蓝", "蓝", "黄"]
排序成:
["红", "红", "红", "黄", "黄", "蓝", "蓝", "蓝", "绿", "绿", "绿"]

 

思路:

将数组中的红黄蓝绿对应成数字1,2,3,4,使用sort进行从小达到排序,然后把数组中的数字对应回成红黄蓝绿

let arr=["红", "黄", "红", "绿", "蓝", "绿", "红", "绿", "蓝", "蓝", "黄"]
function a(){
    //map遍历 把文字替换成数字
    let newArr=arr.map(c=>{
        return c.replace(‘红‘,1).replace(‘黄‘,2).replace(‘蓝‘,3).replace(‘绿‘,4)
    })
    //排序数字
    newArr=newArr.sort((a,b)=>a-b)
    //把数字替换成文字
    newArr=newArr.map(c=>{
        return c.replace(1,‘红‘).replace(2,‘黄‘).replace(3,‘蓝‘).replace(4,‘绿‘)
    })
    console.log(newArr)//["红","红","红","黄","黄","蓝","蓝","蓝","绿","绿","绿"]
}
a()

 

将数组中乱序的红黄蓝绿进行排序,达到[红...黄...蓝...绿...]的效果

原文:https://www.cnblogs.com/wuhairui/p/13695594.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!