第二个字符串匹配,分别把有前缀和没有前缀的放在两个数组里排序后,再合并。测试用例可以过,不知道有没有啥问题。 function reg(arr){ var len = arr.length, key = arr[len-1]; var myreg1 = new RegExp('^[a-z]+' + key,'i'), //匹配有前缀的 myreg2 = new RegExp('^' + key,i), //匹配没有前缀的 newArr1 = [], newArr2 = []; for(var i = 0;i < len-1;i++){ if(myreg1.test(arr[i])){ newArr1.push(arr[i]); }else if(myreg2.test(arr[i])){ newArr2.push(arr[i]); } } newArr1.sort(); newArr2.sort(); var res = newArr2.concat(newArr1); console.log(res); } var test = ['ykit-config-yo','mykit','fekit','ykit-config-fekit','ykit','ykit']; reg(test);
点赞 1

相关推荐

東大沒有派對:这是好事啊(峰哥脸
我的秋招日记
点赞 评论 收藏
分享
09-17 10:53
四川大学 C++
牛客91242815...:会写标书没有任何卵用,鉴定为横向垃圾导师的受害者
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务