使用闭包实现 js 对象按指定属性进行大小比较

需要比较的对象

let obj1 = {
name:'张三',
age:19
};
let obj2 = {
name:'李四',
age:22
};

创建返回闭包的比较方法

function compareObjectFunction(propName){
return function(obj1,obj2){
let val1 = obj1[propName],
val2 = obj2[propName];
if(val1 < val2){
return -1;
}else if(val1 > val2){
return 1;
}else{
return 0;
}
}
}

调用方法:

1、首先传入比较的属性名获取比较方法

2、使用比较方法进行对象比较

如:按姓名比较

const compareName = compareObjectFunction('name');
compareName(obj1,obj2);

如:按年龄比较

const compareAge = compareObjectFunction('age');
compareAge(obj1,obj2);

最新文章

  1. SharePoint 2013连接非默认端口的SQL Server
  2. 使用 SQL 命令 OPTIMIZE TABLE 释放表空间
  3. tomcat jdk servlet websocket版本对应关系
  4. Solr主从集群配置简要说明
  5. 温故而知新 clone
  6. 在.NET连接MySQL以及封装好的MySQLHelper.cs
  7. window与linux互相拷贝文件
  8. Java 集合 散列表hash table
  9. web前端面试题及答案
  10. OpenCV 之 神经网络 (一)
  11. Flex 对Xml对象操作
  12. python new和init知识点
  13. node.js浅见
  14. C# ModBus Tcp读写数据 与服务器进行通讯
  15. 【读书笔记】iOS-Apple的移动设备硬件
  16. js实现页面重定向
  17. 如何在eclipse中创建.properties文件
  18. inherited 的研究。
  19. 利用JQuery直接调用asp.net后台的简单方法
  20. ORACLE 中 TRANSLATE的用法

热门文章

  1. Spring Boot 2 使用Servlet、Listener和Filter配置
  2. RDIFramework.NET敏捷开发框架WinForm新增文件中心-实现附件集中管理
  3. SQL,case ziduan when ziduan_value then &#39;result&#39;
  4. PyCharm批量修改变量名
  5. Docker 镜像介绍和命令
  6. flask中的endpoint、自定义转化器、与djnago中session区别、利用装饰器实现登录认证
  7. Hbase启动出问题 master.HMaster: Failed to become active master
  8. yum update 出错
  9. LG1879 「USACO2006NOV」Corn Fields 状压DP
  10. win7 架设php环境运行H5游戏的坑坑坑坑