第一个问题是数据的结构。你实际上有一个像这样的数组
var data = [ "foo", "bar" ];
这些字符串行包含序列化数据。所以首先我们需要通过这个 SO question中给出的任何方法来提取数据,例如 JSON 库方法:
var interpreted = [];
for(var i=0; i<data.length; ++i) {
interpreted[i] = JSON.parse(data[i]);
}
现在我们有这样的结构:
[
0: {
'Firstname': 'xyz',
'Lastname' : 'QSD', // there is a colon missing in the
// source, I'm guessing accidentally
...
},
1: {
'Firstname' : 'abc',
...
}
]
所以我们可以通过interpreted[i].Firstname
. 现在我们可以通过传递一个比较函数,以与其他 SO 问题类似的方式进行排序:sort()
interpreted.sort(function(a,b) {
if(a.Firstname == b.Firstname)
return 0;
if(a.Firstname > b.Firstname)
return 1;
else
return -1
} );
如果要降序排序,则需要交换 1 和 -1 的位置。