beo*_*3th 6 javascript sorting numerical
我有一个无序列表,看起来像这样:
1.1.1
1.1.1.1
1.1.2
1.10.1
1.10.2
1.2.1
1.2.2
1.2.3
1.2.4
1.20.1
1.3.1
Run Code Online (Sandbox Code Playgroud)
我想在Javascript中将其排序为"数字"顺序.
1.1.1
1.1.1.1
1.1.2
1.2.1
1.2.2
1.2.3
1.2.4
1.3.1
1.10.1
1.10.2
1.20.1
Run Code Online (Sandbox Code Playgroud)
我需要哪种功能?
你可以试试:
Array.prototype.sortVersions = function() {
return this.map(function(e) {
return e.split('.').map(function(e) {
return parseInt(e)
}
)}).sort(function(a,b) {
for (var i = 0; i < Math.max(a.length, b.length); i++) {
if (!a[i]) return -1;
if (!b[i]) return 1;
if (a[i]-b[i] != 0) return a[i]-b[i];
}
return 0;
}).map(function(e) {
return e.join('.')
});
}
['1.1.1','1.1.1.1','1.1.2','1.10.1','1.10.2','1.2.1','1.2.2','1.2.3','1.2.4','1.20.1','1.3.1'].sortVersions()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1327 次 |
| 最近记录: |