使用闭包实现 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);