JavaScript 如何将函数结果与数组中的值一起传递到同一个函数中
javascript how to pass function results into the same function along with a value from array
我有一个名为findLCM
的函数,它需要2个参数(a,b)。
我还有一个数组,其中包含未知数量的元素(所有数字)。为了解释,我们说:
var values = [c, d, e, f]
现在我需要构建的是这个:
var result = findLCM(findLCM(findLCM(c,d),e),f);
我试图编写一个可以做到这一点的 for 循环,但卡住了,无法弄清楚。有人可以指出正确的方法吗?
到目前为止我的代码:
var result = 0;
for(f = 0; f < values.length -2; f++) {
result *= findLCM(findLCM(values[f], values[f+1]),values[f+2]);
}
这
听起来像是使用 Array.prototype.reduce() 的好例子:
var values = [c, d, e, f];
var lcm = values.reduce(function(previous, currentValue, currentIndex, arr) {
return findLCM(previous, currentValue);
});
alert(lcm);
我认为您正在寻找的是使用reduce。
var findLCM = function(a,b) {
...
};
var result = [a, b, c, d, e].reduce(findLCM);
试试这个递归函数
function findLCMArray (arr)
{
if ( arr.length > 2 )
{
return findLCM( arr.shift() , findLCMArray (arr) );
}
else
{
return findLCM( arr.shift(), arr.shift() );
}
function findLCM( x, y )
{
//logic to do LCM
}
}
或者你可以像这样循环
var arr = [2,4,6,8];
var lcmValue = arr[0];
arr.forEach ( function(value){
lcmValue = findLCM( lcmValue, value);
} );
alert(lcmValue);
相关文章:
- 在同一个javascript事件处理程序中调用不同的函数
- 当多个 JS 事件调用同一个函数时,如何处理它们
- 如何用两种不同的方式调用同一个函数
- JS:我如何访问一个函数内的变量值,而另一个函数内部的变量值,并且两个函数属于同一个对象
- JavaScript 如何将函数结果与数组中的值一起传递到同一个函数中
- 从同一个变量中调用函数
- 有更好的方法吗?在多个函数中重用同一个循环
- 将同一个jquery文件中的几个js函数以我选择的不同间隔加载到几个html页面中
- 从同一个文件和不同的文件调用nodejs函数
- 在同一个按钮上调用多个函数对我来说不起作用(ajax)
- 错误:在同一个angular Js函数中使用两个Http请求调用时,$digest已经在进行中
- 你能从同一个UserControls Javascript调用一个UserControl服务器函数吗
- 我可以在change()函数中为同一个$('element.class')运行嵌套的$('!ele
- 如何使变量在同一个重复函数中交替取值
- 使用ajax从同一个javascript函数多次调用,对象在函数体和ajax成功回调之间的参数不相同
- 如何在同一个脚本中从一个函数到另一个函数进行javascript调用
- 在新窗口中打开同一个AngularJS应用程序,在父窗口中调用函数
- 同一个函数参数能接受不同的数据类型吗?
- 我的一个变量是在initMap中设置的,但是当我在脚本中调用另一个函数时,同一个变量突然没有定义
- 如何在同一个函数中动画最近创建的DOM元素?