javascript - javascript 可以对包含数字的字符串进行排序吗?

标签 javascript sorting

我正在制作一个使用 AHK 和 javascript 的小型网络应用程序。 我将 AHK 设为 .js 文件的一组图像路径,如下所示

var importedFiles = [
 "file:///F:/image1.jpg",
 "file:///F:/image10.jpg",
 "file:///F:/image11.jpg",
 "file:///F:/image2.jpg",
]

而且这些图片应该在浏览器中查看问题是两种语言的排序方式不像windows排序。

我想要的是 javascript 对变量中的文件进行排序,以便它们就像在窗口中这样查看一样

var importedFiles = [
 "file:///F:/image1.jpg",
 "file:///F:/image2.jpg",
 "file:///F:/image10.jpg",
 "file:///F:/image11.jpg",
]

顺便说一句:我已经搜索过之前发布的函数,但它只适用于数字和包含数字的字符串,就像这种情况

最佳答案

var importedFiles = [
 "file:///F:/image1.jpg",
 "file:///F:/image10.jpg",
 "file:///F:/image11.jpg",
 "file:///F:/image2.jpg",
]

var customSort = function (a, b) {
    return (Number(a.match(/(\d+)/g)[0]) - Number((b.match(/(\d+)/g)[0])));

}

// use sort() and apply the customSort function
console.log(importedFiles.sort(customSort));

//outputs

[
   "file:///F:/image1.jpg", 
   "file:///F:/image2.jpg", 
   "file:///F:/image10.jpg", 
   "file:///F:/image11.jpg"
]

DEMO

关于javascript - javascript 可以对包含数字的字符串进行排序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29180284/

相关文章:

javascript - 统计javascript中数组中元素的出现次数

javascript - 指令在 Controller 中将 ng-model 值返回为空

javascript - String.concat 是否比连接字符串的 Array 方法慢

Java:就地对 ArrayList 进行排序

c++ - 在 C++ 中,是否可以根据这些对象的任何属性轻松地对对象类型指针的 vector 进行排序?

Javascript 过滤和排序值

javascript - Jquery - 更新背景CSS

javascript - 调整窗口大小时 Highcharts 对齐 HTML

javascript - 根据可选正则表达式与优先级匹配的数量过滤数组

python - 如何优化 python 列表中的比较组合