2
我创建了一个简单的函数:它有数组作为输入和id。函数假设在给定想法之前采取所有元素。功能风格的重写循环
function takeBefore(stars, id) {
var taken = [];
for(var i = 0, length = stars.length; i < length; i++) {
if (stars[i].itemId === id) {
break;
}
taken.push(stars[i]);
}
return taken;
}
下面的代码完成这项工作,但最近我变得有点挑剔。想摆脱for-loop和一些功能风格。
是否可以使用underscore
或ES5
函数来做同样的工作?
的作品真的很好!你可以plz扩展'every' ..我认为它返回布尔值,它如何作为pos + all使用? – 2013-05-11 08:22:02
@alexanderb:这实际上是一个黑客。当与'+'一起使用时,布尔变换为整数(true = 1,false = 0),我用它来将位置移动一个以防所有元素匹配谓词。 – georg 2013-05-11 08:25:07