Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript EJS中对象的排序数组_Javascript_Html_Arrays_Object_Ejs - Fatal编程技术网

Javascript EJS中对象的排序数组

Javascript EJS中对象的排序数组,javascript,html,arrays,object,ejs,Javascript,Html,Arrays,Object,Ejs,我在EJS中对对象数组进行排序时发现了问题(从Node.js中的服务器发送)。对象数组由多个课程及其详细信息组成。下面是将对象数组发送到EJS的jointrack.js文件res.render(“讲师搜索”{searchData:mappedResults})。这完全可以正常工作,并且可以在EJS中显示(没有排序功能)。下面是给我排序对象数组带来麻烦的EJS 当前讲座 学校 位置 等级 主题 老师 日期 开始时间 结束时间 附加说明 没有课 升学 学校下降 位置上升 位置下降 函数sortSc

我在EJS中对对象数组进行排序时发现了问题(从
Node.js中的服务器发送)。对象数组由多个课程及其详细信息组成。下面是将对象数组发送到EJS的
jointrack.js
文件<代码>res.render(“讲师搜索”{searchData:mappedResults})。这完全可以正常工作,并且可以在EJS中显示(没有排序功能)。下面是给我排序对象数组带来麻烦的EJS

当前讲座
学校
位置
等级
主题
老师
日期
开始时间
结束时间
附加说明
没有课
升学
学校下降
位置上升
位置下降
函数sortSchoolAscending(){
数据排序(函数(a,b){
返回parseFloat(b.school)-parseFloat(a.school);
});
loadTableData(数据);
}
函数sortschooldescing(){
数据排序(函数(a,b){
返回parseFloat(a.学校)-parseFloat(b.学校);
});
loadTableData(数据);
}
函数sortLocationAscending(){
数据排序(函数(a,b){
返回parseFloat(b.school)-parseFloat(a.school);
});
loadTableData(数据);
}
函数sortLocationDescending(){
数据排序(函数(a,b){
返回parseFloat(a.学校)-parseFloat(b.学校);
});
loadTableData(数据);
}

它不能与该功能一起工作。再次删除它,这样您就可以:


没有课
这将在页面加载时填充表格。然后可以根据表行本身进行排序

您的
脚本
标记可以按如下方式对表行进行排序:

const tbody=document.getElementById(“讲师数据库”);
//用于对给定列进行排序的辅助函数,带有给定的比较器
函数表排序(colNum、cmp){
让rows=[…tbody.rows];
rows.sort((a,b)=>cmp(a.cells[colNum].textContent,b.cells[colNum].textContent))
.map(行=>tbody.appendChild(行));
}
函数sortSchoolAscending(){
tableSort(0,(a,b)=>a-b);//假设school列具有数字表示
}
函数sortschooldescing(){
tableSort(0,(a,b)=>b-a);//假设school列有数字表示
}
函数sortLocationAscending(){
tableSort(1,(a,b)=>a.localeCompare(b));//假设location列有字符串
}
函数sortLocationDescending(){
tableSort(1,(a,b)=>b.localeCompare(a));//假设location列有字符串
}
td,th{border:1px solid}
th{背景:浅灰色}
表{边框折叠:折叠}
按钮{margin:5px}

学校
位置
122
马德里
30
巴黎
99
布鲁塞尔
升学
学校下降
位置上升

位置下降
此功能不起作用。再次删除它,这样您就可以:


没有课
这将在页面加载时填充表格。然后可以根据表行本身进行排序

您的
脚本
标记可以按如下方式对表行进行排序:

const tbody=document.getElementById(“讲师数据库”);
//用于对给定列进行排序的辅助函数,带有给定的比较器
函数表排序(colNum、cmp){
让rows=[…tbody.rows];
rows.sort((a,b)=>cmp(a.cells[colNum].textContent,b.cells[colNum].textContent))
.map(行=>tbody.appendChild(行));
}
函数sortSchoolAscending(){
tableSort(0,(a,b)=>a-b);//假设school列具有数字表示
}
函数sortschooldescing(){
tableSort(0,(a,b)=>b-a);//假设school列有数字表示
}
函数sortLocationAscending(){
tableSort(1,(a,b)=>a.localeCompare(b));//假设location列有字符串
}
函数sortLocationDescending(){
tableSort(1,(a,b)=>b.localeCompare(a));//假设location列有字符串
}
td,th{border:1px solid}
th{背景:浅灰色}
表{边框折叠:折叠}
按钮{margin:5px}

学校
位置
122
马德里
30
巴黎
99
布鲁塞尔
升学
Sc