忍受我,我仍然是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 :(得分: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)
答案 1 :(得分:1)
试试这样的:
vList.sort( function( a, b ) {
return parseInt( a.split( '|' )[ 0 ] ) - parseInt( b.split( '|' )[ 0 ] );
} );
答案 2 :(得分: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})