2014-10-17 89 views
-1

我需要按字符串的一部分对字符串数组排序。按字符串的部分排序字符串数组

这里是我的清单:

[ 
    "5,758,ZUMBA,13:00:00", 
    "3,541,Vinyasa level 2/3,10:30:00", 
    "3,559,Mat Pilates,18:30:00" 
] 

我怎样才能通过第二个值排序呢?我需要的顺序是

541, 559, 758 
+0

1)如果是你的企图? 2)你不能排序JSON。 JSON是一个代表序列化数据的字符串。您必须将JSON解析为实际的数据结构,并将其解析为语言/环境/平台。在解析JSON的地方?如何对数据进行排序的问题的答案取决于您对该问题的回答。 3)谁负责格式化这些数据?如果你只是打算装满魔法字符串,那么使用JSON就没有多少意义。 – JAAulde 2014-10-17 01:33:05

回答

2

您可以使用自定义排序功能:

var array = ["5,758,ZUMBA,13:00:00","3,541,Vinyasa level 2/3,10:30:00","3,559,Mat Pilates,18:30:00"]; 
 

 
array.sort(function(a, b) { 
 
    
 
    var c = a.split(',')[1]; 
 
    var d = b.split(',')[1]; 
 
    
 
    if (c < d) { 
 
     return -1; 
 
    } 
 
    
 
    if (c > d) { 
 
     return 1; 
 
    } 
 

 
    return 0; 
 
}); 
 

 
console.log(array);

+0

+1做得好。 --Jim – JAAulde 2014-10-17 01:40:49