javascript JS中的复杂排序条件 您所在的位置:网站首页 js的sort排序方法 javascript JS中的复杂排序条件

javascript JS中的复杂排序条件

#javascript JS中的复杂排序条件 | 来源: 网络整理| 查看: 265

我有一个文件列表,我想主要按名称排序,但如果名称(减去哈希和扩展名)匹配,我想按扩展名排序。扩展名(和顺序)如下:一个一个一个一个一个、一个一个一个一个、一个一个一个二个、一个一个一个三个、一个一个一个四个和一个一个五个。我遇到的问题(尽管有一个可行的解决方案)是,这很快就会变得非常复杂。很难(IMO)理解这是怎么回事,所以我希望我只是在犯傻,有一个更简单、更可扩展的方法来做这类事情?我很可能能够简化下面的代码,只是让它工作起来(假设没有我没有错过的边缘情况),但我更想寻找框架/模式来做这种排序。发展成一堆嵌套的if条件(如果我可能会做更多的扩展)似乎不是很好。当前代码:

files.sort((a, b) => { const assetName = ({ name }) => name.match(/([^.]*)/); if (assetName(a)?.[1] === assetName(b)?.[1]) { if (/\.css\.map$/.test(a.name) && /\.css$/.test(b.name)) return 1; if (/\.css(\.map)?$/.test(b.name)) return -1; if ( /(?

所需输出顺序的示例数据:

bundle.abcde.js bundle.abcde.js.map bundle.12345.esm.js bundle.12345.esm.js.map bundle.abc12.css bundle.abc12.css.map

谢谢!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有