Javascript 如何使用jquery对行进行排序
如何使用jquery对行进行排序。我的目标是找到价格最低的商品。不是真的整理桌子 下面的代码总是显示实际不正确的第一行Javascript 如何使用jquery对行进行排序,javascript,jquery,Javascript,Jquery,如何使用jquery对行进行排序。我的目标是找到价格最低的商品。不是真的整理桌子 下面的代码总是显示实际不正确的第一行 var rows = $('tr'); rows.sort(function(a, b){ var p1 = parseInt(a.querySelector('td.item') ? a.querySelector('td.item').innerText : 0) var p2 = parse
var rows = $('tr');
rows.sort(function(a, b){
var p1 = parseInt(a.querySelector('td.item') ? a.querySelector('td.item').innerText : 0)
var p2 = parseInt(b.querySelector('td.item') ? b.querySelector('td.item').innerText : 0);
return p1 > p2;
});
console.log(rows[0])
排序函数应该返回p1-p2,小于时需要负数,等于时需要0,大于时需要正数,p1>p2的布尔值 您可以使用Intl.Collator创建一个比较函数
const naturalSort = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' }).compare;
rows.sort((a, b) => naturalSort(
a.querySelector('td.item') && a.querySelector('td.item').innerText,
b.querySelector('td.item') && b.querySelector('td.item').innerText
));
console.log(rows[0]);
它将为您处理数字比较