jsDev: function array walker

executes functions in an array in specified nested order

by David McClelland

HTML

<button onclick="alert(applyAndEmpty(2,puzzlers))">run</button>

JavaScript

var puzzlers = [
  function ( a ) { alert(8*a - 10);return 8*a - 10; },
  function ( a ) { alert((a-3) * (a-3) * (a-3));return (a-3) * (a-3) * (a-3); },
  function ( a ) { alert(a * a + 4); return a * a + 4; },
  function ( a ) { alert(a % 5); return a % 5; }
];
var start = 2;

var applyAndEmpty = function(inputNum, functions){
  var workingNum=inputNum;
  var iters = functions.length;
  for ( var i = 0 ; i < iters; i++){
    var thisFunction = functions.shift();
    workingNum = thisFunction(workingNum);
  }
  return workingNum;
};
alert(applyAndEmpty(2,puzzlers)());