js闭包使用简例

闭包与排序函数
本文讲解了闭包的原理及其在实际开发中的应用,通过创建一个可以按不同属性排序商品列表的函数,展示了闭包如何封装变量并提供灵活的排序功能。

闭包原理很多,理解闭包很重要,学会在实际开发中使用同样重要。

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值