使用閉包實現 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);