我创建了一个 Javascript 函数,它接受可变数量的参数并将每个参数打印在新行上:
var printOut = function () {
for (var i = 0; i < arguments.length; i++) {
document.writeln(arguments[i] + '<br>');
}
};
printOut('a', 'b', 'c');
printOut('d', 'e');
该函数打印出:
a
b
c
d
e
我想知道的是是否可以采用此函数并使其递归,但输出的顺序相同?
根据我的研究,递归会颠倒输出的顺序吗?
fiddle :https://jsfiddle.net/klems/kao9bh6v/
最佳答案
您可以将 arguments 切片并再次使用 apply 调用该函数。
var printOut = function () {
if (arguments.length) {
console.log(arguments[0]);
printOut.apply(null, [].slice.call(arguments, 1));
}
};
printOut('a', 'b', 'c');
printOut('d', 'e');
关于Javascript:修改一个打印出可变数量参数的函数以进行递归?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42675899/