javascript - 如何使用自定义函数操作数组

标签 javascript arrays

所以我有一个数组,数组的每个单元格都包含一个特定的函数。

var randomly = [
  function(a) { return a * a - a; },
  function(a) { return (a - 2) * (a - 1) * (a - 1); },
  function(a) { return a * a + a; },
  function(a) { return a % 3; }
];

我正在创建一个函数,它接受整个数组的输入值 (a) 并单独遍历每个数组单元格,求解该函数。然而,该函数的结果成为下一个函数的输入值。所以初始输入值只对第一个函数有效,下一个函数的输入值将是前一个函数的结果。

为此,我创建了一个 for 循环...

var theFunction = function (input, queue){

  for (var i = 0; i < queue.length; i++){
    queue[i](input);


  }

所以,这就是我被困住的地方......

如何随输入值一起调用特定数组?我使用了 queue[i](input); 但不确定这是否有效。任何对此的帮助将不胜感激。

最佳答案

您已经很接近了,但要“链接”函数,您需要实际存储返回值,以便可以重复使用它们:

var theFunction = function (input, queue) {
  var result = input;

  for (var i = 0; i < queue.length; i++)
    result = queue[i](result);

  return result;
}

var randomly = [
  function(a) { return a * a - a; },
  function(a) { return (a - 2) * (a - 1) * (a - 1); },
  function(a) { return a * a + a; },
  function(a) { return a % 3; }
];

var theFunction = function (input, queue) {
  var result = input;

  for (var i = 0; i < queue.length; i++)
    result = queue[i](result);

  return result;
}
  
  
console.log(theFunction(4, randomly));
  

关于javascript - 如何使用自定义函数操作数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32100862/

相关文章:

javascript - wkhtmltopdf - 添加一个跟随不同文本范围的侧边栏

javascript - HTML 货币输入字段

javascript - HTML 表格中每两列 CSS/Javascript 交替颜色

ios - 如何访问数组中的随机索引

ios - 按键值对字典数组进行排序

php - 如何组合 3 个数组

JavaScript 编码协助

javascript - 可以将匿名函数或对函数的引用传递给 executeScript 吗?

审查 STDIN 中找到的单词并打印到 STDOUT 不起作用

python - 矩阵的xy坐标列表