【问题标题】:Passing iterator to a function's parameter [duplicate]将迭代器传递给函数的参数[重复]
【发布时间】:2020-08-25 14:36:21
【问题描述】:

我编写了一个 Javascript 函数和一个循环,其作用是调用我的函数,每次都使用不同的参数。我的想法是迭代器每次都会帮助我使用不同的变量,但显然这不起作用。我发现我的问题是当循环调用函数时,参数是字符串而不是对象名称。有什么办法可以挽救它,或者这个想法从一开始就有缺陷?

var a0 = [1,2,3];
var a1 = [4,5,6];
var a2 = [7,8,9];

function myFunction (parameter) {instructions;}

for (i=0; i<3; i++)
  myFunction("a"+i);

【问题讨论】:

  • 为什么不使用数组存储数据?
  • var things = { a0: ..., a1: ..., a2: ... }; things['a0']
  • 旁注:如果它看起来像鸭子,走路像鸭子,叫声像鸭子,那么也许你想考虑使用数组而不是枚举变量。
  • 我曾考虑将所有这些变量转换为一个数组,但在我正在执行的任务中,我已经分别获得了这三个数组,如果可能的话,我更愿意让它们保持原样。不过,我很欣赏鸭子的比较。谢谢大家的帮助。

标签: javascript loops iterator


【解决方案1】:

您可以将数组包装在一个数组中并迭代这个数组。

function myFunction(reference) {
    console.log(...reference);
}

let a0 = [1, 2, 3],
    a1 = [4, 5, 6],
    a2 = [7, 8, 9];

for (const array of [a0, a1, a2]) myFunction(array);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-17
    • 2022-01-26
    • 2013-06-03
    • 2013-12-13
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 2020-05-31
    相关资源
    最近更新 更多