Javascript 排序后保持相同的数字顺序(可脚踏)
可站立的桌子。许多专栏。 排序后如何保持相同的数字顺序 原件:Javascript 排序后保持相同的数字顺序(可脚踏),javascript,jquery,footable,Javascript,Jquery,Footable,可站立的桌子。许多专栏。 排序后如何保持相同的数字顺序 原件: id | Book | Views --------------------- 1 | Book 1 | 3493 2 | Book 2 | 3792 3 | Book 3 | 4022 按视图排序后(描述): 但我需要这个: id | Book | Views --------------------- 1 | Book 3 | 4022 2 | Book 2 | 3792 3 |
id | Book | Views
---------------------
1 | Book 1 | 3493
2 | Book 2 | 3792
3 | Book 3 | 4022
按视图排序后(描述):
但我需要这个:
id | Book | Views
---------------------
1 | Book 3 | 4022
2 | Book 2 | 3792
3 | Book 1 | 3493
目标是排序后ID必须始终为1,2,3(当然不是分页后)我认为您需要将视图与数据进一步分离。我将使用
数组进行说明
假设我们有一个包含3个对象的arr
数组,其中包含我们的书籍
test
和test2
都在迭代相同的数据,但只有test
显示在您想要的庄园中。这是因为它不是使用数据的ID
显示,而是使用迭代索引。希望这能把你推向正确的方向
var-arr=[{
id:1,
书名:“第一册”,
浏览次数:100
},
{
id:2,
书名:“第二册”,
浏览次数:200
},
{
id:3,
书名:“第三册”,
浏览次数:300
}];
功能比较(a、b){
如果(a.视图>b.视图)
返回-1;
如果(b视图>a视图)
返回1;
返回0;
}
arr.sort(比较);
对于(var i=0;i如果您只想按顺序对每一行进行编号,jQuery.each()提供一个迭代变量(函数(i)
中的i
)。行显示为i+1
,因为与大多数javascript元素一样,每个()都是基于0的
$("#mytable tbody tr").each(function(i){
$(this).find("td:first").text(i+1);
});
因此,这是一个行号,而不是ID。从评论队列:我可以请你在源代码周围添加一些上下文吗?只有代码的答案很难理解。如果你能在帖子中添加更多信息,这将有助于提问者和未来的读者。
$("#mytable tbody tr").each(function(i){
$(this).find("td:first").text(i+1);
});