Javascript:将数组中的数据插入函数参数

Posted

技术标签:

【中文标题】Javascript:将数组中的数据插入函数参数【英文标题】:Javascript: Inserting data from an array into function parameter 【发布时间】:2017-12-13 08:04:40 【问题描述】:

我只学习了 2 周的 javascript,所以如果我的问题看起来很奇怪/没有意义,我们深表歉意。我正在学习数组的基础知识,为了帮助我学习,我喜欢练习和玩弄代码,但我似乎无法弄清楚这一点。

我创建了一个简单的函数,并希望调用该函数来计算数组中变量的总和。下面是我的代码:

//functions

function simpleCalc (a,b) 
    var result = a + b;
    return result;


//array

var myArray = [12,567];

//final calculation

var total = simpleCalc([0],[1]);

alert("The total is " + total);

谁能告诉我如何将数字“12”和“567”输入到函数参数中?这里的结果输出到“01”

谢谢

【问题讨论】:

【参考方案1】:

你有两个选择:

    您的选择,但是,它仅限于两个值。

您需要像 (myArray[0], myArray[1]) 那样传递对数组元素的引用

    创建新函数 - 我们称它为 sumValuesInArray(),传递一个 array 并使用 for 循环计算数组内的所有值。

在此处查看工作示例:

//functions

function simpleCalc (a,b) 
    var result = a + b;
    return result;


//array

var myArray = [12,567];

//final calculation

var total = simpleCalc(myArray[0],myArray[1]);

//alert("The total is " + total);


// OR

function sumValuesInArray(array) 
  var total = 0;
  
  for(i = 0; i < array.length; i++) 
    var element = array[i];
    
    total += element;
  
  
  return total;


console.log(sumValuesInArray(myArray));

【讨论】:

感谢您的快速回复。在过去的一个小时左右研究了这个,我想我明白了。所以基本上你在这里所做的是,而不是使用我的自我限制版本,你的版本允许你添加尽可能多或尽可能少的数组变量,并且 JavaScript 仍然可以运行,而无需你修改更多代码?跨度> @Bayzoo 就是这样。您可以根据需要在数组中包含任意数量的元素。都会计算出来的。但请记住,您必须插入正确的值。 "22"22 不同,区别在于类型。 "22"string 的类型,但 22number 的类型。将字符串添加到数字中是初学者的常见错误。例如,当您从 input 中获取 value 并尝试对其求和时。您从input 获取的任何value 都将是typeof string。要将字符串转换为数字,请在确定您的值始终为整数或 parseFloat() 时使用 parseInt() @Bayzoo 另一种将字符串转换为数字的解决方案是一元运算符+。你可以谷歌一下。如果我的回答对你没问题,请采纳。【参考方案2】:

你不指定数组,只指定索引:

var total = simpleCalc([0],[1]);

因此,它传递了两个数组对象:[0][1]

它们的连接在这里:

var result = a + b;

结果是01 字符串。

要传递myArray 的前两个元素,试试吧:

var total = simpleCalc(myArray[0],myArray[1]);

【讨论】:

第一个语句是否发送 2 个未命名数组,每个数组有 1 个元素?喜欢;第一个参数是未命名数组,人口:1,第一个元素值为0第二个参数是一个未命名数组第一个元素值为1。 哇,它一天比一天柔和:D【参考方案3】:

您需要通过索引访问数组值。您可以使用带有数组名称的方括号来执行此操作。如果您传递带有数字的括号,则您正在创建新数组。

应该是:

 var total = simpleCalc(myArray[0],myArray[1]);

【讨论】:

以上是关于Javascript:将数组中的数据插入函数参数的主要内容,如果未能解决你的问题,请参考以下文章

前端面试 JavaScript— 什么是高阶函数?数组中的高阶函数有哪些?

前端面试 JavaScript— 什么是高阶函数?数组中的高阶函数有哪些?

前端javascript函数

使用 map 函数将数组中的值传递给 redshift 参数化查询

javascript数组排序方法中的参数顺序不直观

将多维数组传递给函数 C