我想在Javascript中对多维数组进行排序。我看到很多关于如何按数字值排序的解释,但我似乎无法弄清楚如何通过文本对其进行排序。通过文本排序多维数组
,我要排序看起来像这样的数组:
var blocks = [
{
"heading": ["2013-10-1", "Chris", "11"],
"content": "stuff 1"
},
{
"heading": ["2013-10-3", "Zoe", "14"],
"content": "stuff 2"
},
{
"heading": ["2013-10-2", "Petey", "12"],
"content": "stuff 3"
}
]
我知道我可以说是数字值进行排序的对象,像这样这个多维数组:
blocks.sort(
function(a,b){
return a.heading[2] - b.heading[2];
}
)
我不知道我传入排序方法的函数看起来像是如果我想按heading
子数组中的第一个或第二个值排序数组,因为索引0处的值是日期,索引1处的值是文本。
我试图查看更改日期或文本到一个数字,然后评估它的数值,但我无法找到一种方法(我也不知道这是否是最好的方法接近这个)。有什么建议么?
按文字排序将按字母顺序排序,您传递的比较函数看起来与您用于数字的函数完全一样。你真的想要分类哪个值?你能发布你试过的代码吗? –
我想按标题数组的第二个值排序,所以它应该排序值“Chris”,“Zoe”和“Petey”。块排序代码是我尝试进行排序的代码。它的确适用于数字(如标题数组中的第三个值),而不适用于文本。 –