在字符串数组中,如何在字符串的一部分上对数组进行排序

Ser*_*sas 4 javascript google-apps-script

当我想也许有一种方法可以使用array.sort()来完成这项工作时,我开始为此编写一个冒泡排序?

这是一个(希望)明确我要排序的例子:(文件名列表)

var array = ['impression_page_1_12_juin','impression_page_1_13_juin','impression_page_2_12_juin','impression_page_2_13_juin']
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,在2个不同日期有2个'page1',每个字符串中只有字符19和20不同.我想对这2个字符进行排序.

Javascript可以直截了当地执行,还是应该返回到我的子串和冒泡排序方法?

Guf*_*ffa 13

使用sort带有函数的方法进行比较:

array.sort(function(x,y){
  var xp = x.substr(18, 2);
  var yp = y.substr(18, 2);
  return xp == yp ? 0 : xp < yp ? -1 : 1;
});
Run Code Online (Sandbox Code Playgroud)