需求
从后台获取的数据是这样的 上帝要这样的
背景
从后台获取到表格数据,然后填充到excel.当然是用js来填充的。js 本身的数组具有sort()功能。但是是针对一列数据。这里是两列数据。肿么办?看看w3c教程上说 arrayObject.sort(sortby);
sortby 默认是空的。也就是按照字符串的编码进行排序。
sortby 的作用是干嘛?
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
•若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
•若 a 等于 b,则返回 0。
•若 a 大于 b,则返回一个大于 0 的值
这就好办了
思路
把结果集保存为一个js 对象数组。然后对对象数组排序。
var data=[]; var result=从后台获取的结果集合 for(var i=0;i<result.RowCount;i++){ data[i]={n:result.getValue(i,"D"),b:result.getValue(i,"E")} } function compare(propertyName) { return function (object1, object2) { var value1 = object1[propertyName]; var value2 = object2[propertyName]; if (value2 > value1) { return -1; } else if (value2 < value1) { return 1; } else { return 0; } } } data.sort(compare("n")); 输出excel.....
理解
js有sort方法,选填参数。参数是一个比较函数。比较函数有两个参数,两个参数是用来比较了,大于,小于,等于。分别返回-1,0,1
这样array就可以调用对比函数。
分类:
前端
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?