RosettaCodeData/Task/Loops-While/JavaScript/loops-while-2.js

21 lines
329 B
JavaScript

function loopWhile(varValue, fnDelta, fnTest) {
'use strict';
var d = fnDelta(varValue);
return fnTest(d) ? [d].concat(
loopWhile(d, fnDelta, fnTest)
) : [];
}
console.log(
loopWhile(
1024,
function (x) {
return Math.floor(x/2);
},
function (x) {
return x > 0;
}
).join('\n')
);