JavaScript中的排序列表降序
按描述顺序对JavaScript中的列表记录进行排序JavaScript中的排序列表降序,javascript,jquery,sorting,for-loop,arraylist,Javascript,Jquery,Sorting,For Loop,Arraylist,按描述顺序对JavaScript中的列表记录进行排序 var数//这里我们从API中获取动态编号 var检验//这里我们从API获取动态文本 对于(var i;i您必须使用带有比较函数的Array.prototype.sort 但我不完全理解你的代码 const dataList=[“1.您拥有:共4个帐户,共10个”, “2.您拥有:共11个账户,共23个”, “3.您拥有:共0个账户,共100个”, “4.您拥有:共2个账户,共6”] 常量reg=/(\d+)$/; dataList.s
var数//这里我们从API中获取动态编号
var检验//这里我们从API获取动态文本
对于(var i;i您必须使用带有比较函数的Array.prototype.sort
但我不完全理解你的代码
const dataList=[“1.您拥有:共4个帐户,共10个”,
“2.您拥有:共11个账户,共23个”,
“3.您拥有:共0个账户,共100个”,
“4.您拥有:共2个账户,共6”]
常量reg=/(\d+)$/;
dataList.sort((a,b)=>{
const avalue=reg.exec(a)[0]
const bvalue=reg.exec(b)[0]
返回+b值>+avalue
}).forEach(s=>document.write(s+“
”)
但是,您解决问题的方法仍然是错误的,您应该在输出之前对值进行排序
let dataList = ["teyuwdh 10", "hsdhcksj 100", "euwfhiuweic 1"];
dataList.sort(
function(a, b) {return b.match(/\d+$/) - a.match(/\d+$/)}
);
console.log('dataList: ' + JSON.stringify(dataList));
输出:数据列表:[“hsdhcksj 100”、“teyuwdh 10”、“euwfhiuweic 1”]谢谢Romain,但上面的链接无法帮助我解决问题。是否有其他方法对包含的字符串列表进行排序?可以。我知道您希望根据字符串中包含的数字进行排序。使用比较函数中的正则表达式提取数字并对这些值进行排序
var tmpArr = []
for (id in dataList) {
tmpArr.push(dataList[id].split(' ').reverse())
}
tmpArr.sort((a,b) => (a[0] > b[0] ? 1 : -1))
dataList = []
for (id in tmpArr) {
dataList.push(tmpArr[id].reverse().join(' '))
}
let dataList = ["teyuwdh 10", "hsdhcksj 100", "euwfhiuweic 1"];
dataList.sort(
function(a, b) {return b.match(/\d+$/) - a.match(/\d+$/)}
);
console.log('dataList: ' + JSON.stringify(dataList));