当前位置: 首页 > news >正文

【对象数组根据属性排序】

// sort使用的排序方法
// 传入对象数组用于排序的对象的属性,升序/降序
function compare(property, sortType = "asc") {debugger// 如果不是 asc,desc,不做下一步比较if (!(sortType === "desc" || sortType === "asc")) {return;}return function (object1, object2) {// 取得对象属性值let value1 = object1[property];let value2 = object2[property];// 如果该对象不存在这个属性,也不做后续比较if (!value1 || !value2) {return;}// 如果两个属性取得的值不是一个类型的就不用比较了if (typeof (value1) == typeof (value2)) {// 判断 传入的属性值 是number还是 stringif (typeof (value1) === 'number') {// 如果是升序if (sortType === "asc") {return value1 - value2;} else {// 如果是降序return value2 - value1;}} else if (typeof (value1) === 'string') {// 如果是升序if (sortType === "asc") {return value1.toString().localeCompare(value2);} else {// 如果是降序return value2.toString().localeCompare(value1);}} else {// 其它类型就不排序了return;}} else {return;}}
}// 通用方法,需要传入 需要排序的对象数组、对象属性、排序方式
export function objectArraySort(array, property, sortType) {debugger// 如果不是对象数组用这个方法,返回的是undefinedif (!(array instanceof Array)) {return;}return array.sort(compare(property, sortType));
}
http://www.lryc.cn/news/253603.html

相关文章:

  • BACnet I/O模块:楼宇自动化的未来选择
  • android项目实战之使用框架 集成多图片、视频的上传
  • MyBatis查询优化:枚举在条件构建中的妙用
  • Isaac Sim教程04 Isaac Sim的高级使用
  • 《数据结构、算法与应用C++语言描述》-线索二叉树的定义与C++实现
  • 删除误提交的 git commit
  • 机器学习---pySpark案例
  • 【链表Linked List】力扣-24 两两交换链表中的节点
  • 企业微信协议开发,API接口调用
  • 代码随想录算法训练营 ---第五十五天
  • 【Intel/Altera】 全系列FPGA最新汇总说明,持续更新中
  • 利用flask将yolov5算法封装成在线推理服务
  • vue3父子传值实现弹框功能
  • C++入门【2-C++ 数据类型】
  • 按照官网文档 通过useExtendedLib扩展库 引入WeUI,报错 组件未定义 | 解决办法
  • Chat-GPT原理
  • GODOC命令无效,原因是需要手动安装
  • 忽略python运行出现的大量警告
  • 【Polar靶场WEB签到】
  • Linux详解——常用命令(二)
  • TCP首部格式_基本知识
  • MIT线性代数笔记-第23讲-微分方程,exp(At)
  • windows下安装配置kafka
  • TV遥控器模拟鼠标键
  • 检测判断IP合法性API接口
  • Linux swatch命令教程:如何监控系统活动(附案例详解和注意事项)
  • 加州大学伯克利分校研究人员推出Starling-7B:一款通过人工智能反馈强化学习(RLAIF)训练的开源大型语言模型(LLM)
  • 腾讯面试真题(C语言)
  • JavaScript 函数
  • 数据结构 | 查漏补缺之DFS、BFS、二次探测再散列法、完全二叉树、深度计算