Javascript:按数组的第一个字符排序

时间:2016-10-16 22:26:10

标签: javascript string sorting parsing numbers

忍受我,我仍然是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]?

我尝试了其他人的一些排序提交,但我无法在第一次解析后忽略所有字体。有人可以帮我吗?

3 个答案:

答案 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 ] );
} );

您可以详细了解sortsplitparseInt方法。

答案 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})