使用JavaScript中的数组或数组将多个参数传递给函数

时间:2017-04-21 12:50:54

标签: javascript arrays

我有一个工作函数,它接受一些参数(整数或字符串)并执行某些操作。请以基本形式查看示例:

var myFunc = function(a,b,c){
    return a * b * c;
}
function(1,2,3);

此函数用于处理大量数据或数据,而不是运行如下所示的函数:

function(1,2,3);
function(2,3,4);
function(5,8,7);
function(8,9,0);
function(5,3,2);
...

我想找到一种传递数组(或对象)数组的方法,并使用数组中的数据只运行一次该函数。

我开始研究算法,但无法弄明白。您能否看一下下面的代码,并建议它完成?

var myFunc = function(arr){
  arr.forEach(function(item, index){
    for(var i = 0; i < item.length; i++){
        // some magic
    }
  })
}
myFunc([[5,7,3],[2,3,4],[2,3,9]]);

非常感谢提前。

3 个答案:

答案 0 :(得分:1)

您应该使用参数而不是 arr

var myFunc = function(){
  arguments.forEach(function(item, index){
    for(var i = 0; i < item.length; i++){
        // some magic
    }
  })
}
myFunc([5,7,3],[2,3,4],[2,3,9]);

答案 1 :(得分:0)

这将乘以每组数组并返回一组产品(105,24,54)。

integers.Where(id => (id & 1) == 0)
    .SelectMany(id => Observable.StartAsync(
        async () => await Task.Run(() => evenHandler.LRP(id, RandomDelay())))
    ).Subscribe();

integers.Where(id => (id & 1) == 1)
    .SelectMany(id => Observable.StartAsync(
        async () => await Task.Run(() => oddHandler.LRP(id, RandomDelay())))
    ).Subscribe();

答案 2 :(得分:0)

映射外部数组,通过乘以连续数字来减少内部数组。

const myFunc = arr => arr.map(xs => xs.reduce((a, b) => a * b, 1))

console.log(
  myFunc([[5,7,3],[2,3,4],[2,3,9]])
)