写下划线_.使用_.each减少方法
writing underscore _.reduce method using _.each
我正在练习在下划线库中重写reduce方法。
我想这样做,如果没有传递起始值,第一个元素被用作累加器,并且永远不会传递给迭代器。
我已经把它写在下面了。我不知道怎样才能让第一个元素不传递给迭代器。欢迎指教。
_.reduce = function(collection, iterator, accumulator) {
if(arguments.length == 2) accumulator = collection[0];
_.each(collection, function(el){
accumulator = iterator(accumulator, el);
})
return accumulator;
};
这就是_.first
和_.rest
派上用场的地方:
_.reduce = function (collection, iterator, accumulator) {
if (arguments.length == 2) {
accumulator = _.first(collection);
collection = _.rest(collection);
}
_.each(collection, function (el) {
accumulator = iterator(accumulator, el);
})
return accumulator;
};
相关文章:
- 获取元素高度的正确方法(使用所有浏览器?)
- 在 javascript 中使 split() 方法使用双引号而不是单引号创建数组
- 追加方法使用 from in a Jquery $getJSON
- 为什么.replace 方法使用正斜杠字符将第一个参数括起来
- 从 Mozilla 扩展运行二进制文件的推荐方法(使用 std I/O 通信)
- 其他方法使用 setInterval 调用的方法无法访问 js 中的对象属性
- 如何在 Java 脚本中为 GET 方法 使用 JSP 值给出操作
- 对画布中的startAngle of arc方法使用0以外的值
- 组合已经具有自己属性的方法(使用原型属性)
- Onclick方法使用JavaScript错误
- 有没有一种发送电子邮件的方法使用“;mailto”;使用一个代码来检查用户是否有gmail或outlook(或其他)帐户
- jQuery get Inner
一张桌子的;使用.find()方法使用不同的类 - 是否有一种方法使用更少的代码使用Youtube API
- JavaScript组件没有名为“available"”的方法.使用transformrequest时
- 简单的方法使用getElementsByTagName来改变表单目标
- 是否有任何方法使用Javascript将html与RCP(E4)应用程序接口
- 除了使用绝对位置或固定位置外,还有其他方法使用CSS来使元素不影响页面的流程吗?
- 在extjs4中是否有更好的方法使用以下数据结构创建条形图?
- Jquery插件访问var从方法使用原型
- 如何发送类似的数据在数组中使用JSON和AJAX Post方法使用jQuery