gpt4 book ai didi

javascript - 如何对 JavaScript 表(升序或降序)进行排序,该表是某些 SQL 操作表的结果?

转载 作者:行者123 更新时间:2023-12-03 07:11:31 24 4
gpt4 key购买 nike

我使用 JavaScript 创建了一个表,其中包含三列“事件 ID”、“事件”和“总计数”。现在我必须对第三列进行排序,即按降序排列总数。我一直在网上寻找如何排序。我知道如何对标准 HTML 表 ("order": [[ 2, "desc"]]) 进行排序,但该表是使用 JavaScript 形成的,所以我很困惑。我可以使用循环向后创建表,即 for(var i=to; i>=from; i--) 但我的结果 JS 表是从 SQL 生成的表的结果其中“事件”不按升序或降序排列。换句话说,我正在从 SQL 生成的表创建此 JavaScript 表。下面是我正在处理的代码:

<script>
$(function() {
CreateTable(GetSum('#displaytable'));
});

function GetSum(tableIdWithHash) {
var Sum = [];
var EventIds = [];
var EventName = [];
var Data = [];

$(tableIdWithHash).find('.eventCounts').each(function(i){
var Counte = $(this).html();
var Ide = $(this).siblings('.Idevent').html();
var eName = $(this).siblings('.eventNames').html();

allSum.sort(function(a,b){
if(a.eCount > b.eCount){
return 1;
} else if (a.eCount < b.eCount){
return -1;
} else{
return 0;
}
});
if (EventIds.indexOf(Ide) === -1) {
EventIds.push(Ide);
EventName.push(eName);
}

var index = EventIds.indexOf(Ide);
if (Sum[index] == undefined) {
Sum[index] = Number(Counte);
}
else {
Sum[index] += Number(Counte);
}
});

Data.push(EventIds);
Data.push(EventName);
Data.push(Sum);
//"order": [[ 2, "desc" ]]
return Data;
}
</script>

最佳答案

我在问题中没有看到您的实际数据,所以我会假设它看起来像这样:

var data = [{eventId:1, eventName:'Fish fry', totalCount:5},...]; // where the ... indicates more records of that shape

好的,鉴于该结构,您可以使用 Array.prototype.sort()在将数据写入表之前对数据进行排序:

data.sort(function(a,b){
if(a.totalCount > b.totalCount){
return 1;
} else if (a.totalCount < b.totalCount{
return -1;
} else{
return 0;
}
});

关于javascript - 如何对 JavaScript 表(升序或降序)进行排序,该表是某些 SQL 操作表的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36601613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com