[英]In an array of strings how to sort the array on part of the strings
當我想也許有一種方法可以使用array.sort()來完成這項工作時,我開始為此編寫一個冒泡排序?
這是一個(希望)明確我要排序的例子:(文件名列表)
var array = ['impression_page_1_12_juin','impression_page_1_13_juin','impression_page_2_12_juin','impression_page_2_13_juin']
正如您所看到的,在2個不同日期有2個'page1',每個字符串中只有字符19和20不同。 我想對這2個字符進行排序。
Javascript可以直截了當地執行,還是應該返回到我的子串和冒泡排序方法?
使用帶有函數的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;
});
是的,您可以將函數傳遞給array.sort,根據您感興趣的條件比較兩個字符串。請參閱如何在javascript中對數組進行排序?
你必須小心字符串與數字: '1_12' < '1_2'
是True
,例如。 如果您需要將它們作為數字進行比較,您可以拆分字符串,對每個部分執行parseInt,並實現成對比較。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.