Abruzzi's Wall

Front-End Web Developer

Ghost only can help me to here...


JQuery Reduce Patch

今天写Jquery插件的时候发现JQuery不支持Array.prototype.reduce的实现,我做了一个简单的patch:

有三点需要注意:

1.为了实现链式调用,例如$([...]).map(fn).reduce(fn),注册reduce函数到jQuery的原型上:$.fn.reduce = fn

2.由于传给$.reducearr在这里是$.mapreturn后的jquery对象,所以在reduce前做一次arr = arr.toArray()的处理

3.对于不支持ES5 Array.prototype.reduce()的环境,通过$.each()进行模拟reduce过程,每次迭代prev(previous)cur(current)交换。