闭包原理很多,理解闭包很重要,学会在实际开发中使用同样重要。
const goods=[
{
id:1,
name:'item1',
price:99,
discount:9.7
},
{
id:2,
name:'item2',
price:88,
discount:9
},
{
id:3,
name:'item3',
price:108,
discount:8.8
},
]
/*
* params {String} propsName
* return {Function}
*
*/
function sortBy(propName){
return function (arr) {
const retArr=[...arr]
return retArr.sort((a,b)=>a[propName]-b[propName])
}
}
const sortByPrice=sortBy('price')
const sortByDiscount=sortBy('discount')
const log=console.log
log(sortByPrice(goods))//=>返回按价格排序的ObjectArray
log(sortByDiscount(goods))//返回按折扣排序的ObjectArray