JS currying


function sortBooks(books){

    return function hello(category){
        return books.filter(book=> book.category == category)
    }
}

mybooks = [{category : 'manga', name :'dragon ball'},
            {category : 'manga' , name : 'doraemon'},
            {category : 'science', name : 'biology'}, 
            {category : 'science', name : 'big bang theory', level : 'difficult'}
        ];

filterBy = sortBooks(mybooks)
x = filterBy('manga')
console.log(x)     //[
                    //     { category: 'manga', name: 'dragon ball' },
                    //     { category: 'manga', name: 'doraemon' }
                    //   ]

console.log('-----')
sortBooks2 = books =>  category => books.filter( book => book.category == category )

filterLah = sortBooks2(mybooks)
y = filterLah('manga')
console.log(y)   // [
                //     { category: 'manga', name: 'dragon ball' },
                //     { category: 'manga', name: 'doraemon' }
                //   ]


console.log('-----')
z = sortBooks2(mybooks)('science')
console.log(z)  //[
                //     { category: 'science', name: 'biology' },
                //     { category: 'science', name: 'big bang theory', level: 'difficult' }
                //   ]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值