我有这样的循环:
app/Config/core.php
Config::write('debug',2);
我想让我的情况更加性感。我需要一些“数字”元素。 在循环中,数组元素的值正在发生变化,所以我想我无法用来计算循环,动态计数是必要的。有一些功能吗? 我很感激能帮助解决我的问题。
答案 0 :(得分:2)
在最新浏览器中使用 reduce()
和ES6箭头功能
while(numbers.reduce((a,b) => a+b ) != 0 )
或带有功能
while(numbers.reduce(function(a,b){ return a+b }) != 0 )
对于较旧的浏览器,请检查polyfill option of reduce method。
答案 1 :(得分:1)
您可以在数组上使用reduce
按顺序对每个元素执行操作,并将先前计算的结果传递给下一个元素。这允许您通过将每个值添加到先前的值来“求和”数组。
while(numbers.reduce(function(prev, curr) {
return prev + curr;
}, 0)) {
// loop body
}
在es6的说法中,您可以使用胖箭头语法使其更具吸引力:
while(numbers.reduce((p, c) => p + c, 0)) {
// loop body
}