答案 0 :(得分:1)
列表按字母顺序排序,因此“#11 ”位于“#10 9”之后。
要解决此问题,您可以编写自己的排序函数,仅考虑数字部分而不是整个字符串。这样它就会按数字排序而不是按字母顺序排序。这是一个快速的ES6解决方案。
let countryList = [/*list here*/];
countryList = countryList.sort( (eachLine, prevLine) => eachLine.split("#")[1].split(" ")[0] - prevLine.split("#")[1].split(" ")[0] );
这只是根据字符串的数字部分对其进行排序,而忽略其余部分。