2016-10-16 8 views
2

私と一緒にいて、私はちょっと新しいjavascriptです。私は要素の最初の解析によってソートされるセーブゲームコードのリストをソートしようとしています。Javascript:配列の最初の文字で並べ替え

var vList =["1|846|Doc|2|0|false|", "11|203|Derik|7|3|false|", "21|670|Mike|5|5|true|", "13|11|Ron|0|0|false|", "9|1000|Blood|9|9|true|"]; 
var vParse; 
for (i = 0; i < (vParse.length); i++) 
    var vParse[i]= vList.split('|'); 

// then somehow sort all the data based on vParse[0]? 

私は他の人々からいくつかの並べ替えの提出を試みたが、私はそれが最初に解析した後、すべてのフォントを無視することができませんでした。誰でも私を助けてくれますか?
を:

+0

についてのあなただけのパイプの前に最初の数に基づいて配列をソートしたいですか? – adeneo

+0

@adeneoはい、それは正しいです – TheBloodSeeker005

答えて

2

あなたはそのようないくつかを試してみてくださいArray.sortを使用し、ちょうどパイプに分割し、最初の項目を取得し、文字列を引いたときに、とにかく

var vList =["1|846|Doc|2|0|false|", "11|203|Derik|7|3|false|", "21|670|Mike|5|5|true|", "13|11|Ron|0|0|false|", "9|1000|Blood|9|9|true|"]; 
 

 
vList.sort(function(a,b) { 
 
    return a.split('|')[0] - b.split('|')[0]; 
 
}); 
 

 
console.log(vList)

+0

これは、おかげで一束! – TheBloodSeeker005

1

数値に変換されていることができます

vList.sort(function(a, b) { 
    return parseInt(a.split('|')[ 0 ]) - parseInt(b.split('|')[ 0 ]); 
}); 

について詳しく読むことができます,splitおよびparseIntの方法。

+0

JavaScriptの型強制による(この場合は文字列の ' - ')、parseIntは必須ではありません。 – Keith

+0

@Keith、確かに、私は 'parseInt'メソッドが初心者にとってはもっと明らかだと考えました – Legotin

1

はどのようにこの

vList.map(function(el){return {sortBy : parseInt(el.split('|')[0]), original : el}}).sort(function(a,b){return a.sortBy - b.sortBy}).map(function(el){return el.original}) 
関連する問題