Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中使用数组向函数传递多个参数_Javascript_Arrays - Fatal编程技术网

在JavaScript中使用数组向函数传递多个参数

在JavaScript中使用数组向函数传递多个参数,javascript,arrays,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(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]]);
var myFunc=函数(arr){
arr.forEach(功能(项目、索引){
对于(变量i=0;i

非常感谢。

您应该使用参数,而不是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]);
var myFunc=function(){
arguments.forEach(函数(项、索引){
对于(变量i=0;i
这将使每组数组相乘,并返回一个乘积数组(105,24,54)

var myFunc=函数(arr){
var products=新数组();
arr.forEach(功能(项目、索引){
var小计=1;
对于(变量i=0;i
映射外部数组,将连续数字相乘以减少内部数组

constmyfunc=arr=>arr.map(xs=>xs.reduce((a,b)=>a*b,1))
console.log(
myFunc([[5,7,3],[2,3,4],[2,3,9])

)
那么您是否应该返回
[105,24,54]
?不,它应该运行多次,每次只返回每个数组中的值。示例:myFunc([[5,7,3],[2,3,4],[2,3,9])//返回:1)105 2)24 4)54什么?一个函数只能返回一次。。。你想要的是我所描述的,我刚才也考虑过这个问题,可以去掉一个数组主数组。谢谢你的建议。请删除[]看起来像我的代码。。。然后重新检查
[…参数]
var myFunc = function(arr){
  var products = new Array();
  arr.forEach(function(item, index){
    var subtotal = 1;
    for(var i = 0; i < item.length; i++){
        // some magic
        subtotal *= item[i];
    }
    products[index] = subtotal;
  });
  return products;
}
myFunc([[5,7,3],[2,3,4],[2,3,9]]);