Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Function - Fatal编程技术网

Javascript 将变量从数组传递到函数中

Javascript 将变量从数组传递到函数中,javascript,arrays,function,Javascript,Arrays,Function,我有这个功能: function getTotal () { var args = Array.prototype.slice.call(arguments); var total = 0; for (var i = 0; i < args.length; i++) { total += args[i]; } return total; } 如何通过将numArray中的每个元素作为参数传入来调用函数getTotal getTot

我有这个功能:

function getTotal () {
    var args = Array.prototype.slice.call(arguments);
    var total = 0;
    for (var i = 0; i < args.length; i++) {
        total += args[i];
    }

    return total;
}

如何通过将
numArray
中的每个元素作为参数传入来调用函数
getTotal

getTotal(...numArray);

它称为扩展语法。有关更多信息:

您可以使用调用函数。它将数组作为参数传递给函数

函数getTotal(){
var args=Array.prototype.slice.call(参数);
var合计=0;
对于(变量i=0;i为什么不这样做:

function getTotal (args) {
    var total = 0;
    for (var i = 0; i < args.length; i++) {
        total += args[i];
    }

    return total;
}

var numArray = [1,2,3];
console.log(getTotal(numArray)); //6
函数getTotal(args){
var合计=0;
对于(变量i=0;i
如果您使用spread运算符,您可能还需要对代码进行ES6验证:

function getTotal(...vals){
  return vals.reduce((a,b)=>a+b,0);
}

getTotal(...[1,2,4]);

请试试这个。希望能有帮助

var sum = [1, 2, 3, 4, 5].reduce(add, 0);

function add(a, b) {
    return a + b;
}

这看起来像是一个家庭作业。>将numArray中的每个元素作为参数传入?当你可以传递数组时,你为什么要这样做?@TimothyGroote这不是我拥有的实际函数,只是它的一个简化版本,主要关注这一个concept@serdar.sanri这不可能是重复的哦,对不起,我会用EN version=)更新答案这个语法太棒了,ty表示,标准apply patternSpread不是运算符,请参阅。请注意,
函数getTotal(…vals){}
处的
参数是rest元素,而不是spread元素
var sum = [1, 2, 3, 4, 5].reduce(add, 0);

function add(a, b) {
    return a + b;
}