最初の問題は、データの構造です。あなたは事実上次のような配列を持っています
var data = [ "foo", "bar" ];
これらの文字列の行には、シリアル化されたデータが含まれています。したがって、最初に、このSOの質問で指定された任意のメソッド、たとえば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を入れ替える必要があります。