我发现_.something(somevar, some_function_or_other_thing);
“语法”非常难看。什么是使用类似ruby的迭代器和类似东西的一些好的替代品:
10..times(function(i) {
console.log(i);
});
uppercasefoobar = ["foo", "bar"].each(function(i) {
return i.toUpperCase();
});
另外,我使用的是node.js,因此它应该更多地关注代码而不是DOM的东西。
答案 0 :(得分:5)
没有人提到Lo-Dash。 Lo-Dash是Underscore的超集,添加了许多方法。 John-David Dalton(Lo-Dash的创建者)解释了两个图书馆在回答SO问题here时的主要差异。
编辑找到了详细的博文"Say hello to Lo-Dash",详细介绍了该库的背景以及与其他所谓的'js实用工具带的比较。
答案 1 :(得分:3)
看起来你正在寻找Array.prototype.map
uppercasefoobar = ["foo", "bar"].map(function(i) {
return i.toUpperCase();
});
// uppercasefoobar == ["FOO", "BAR"]
使用underscore.js你也可以写:
_.range(10).forEach(function(i) {
console.log(i);
});
修改您还可以使用:
_(3).times(function(i) {
console.log(i);
});
不像ruby语法那么漂亮,但它完成了工作。
通常,下划线提供了大多数函数的面向对象的版本,其中:
_.something(variable, params);
相当于
_(variable).something(params);
答案 2 :(得分:2)
自己找到一个! http://sugarjs.com/
(是的,我确实意识到扩展本地类本质上是用语言...这是我的动机......)