一道有趣的面试题

Posted lianer88

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一道有趣的面试题相关的知识,希望对你有一定的参考价值。

一道面试题。接受参数n=5,不用for循环输出数组【1,2,3,4,5】

这用递归的思路,配合arguments.callee,代码如下

 1 function show(n) {
 2     var arr = [];
 3     return (function () {
 4         arr.unshift(n);
 5         n--;
 6         if (n != 0) {
 7             arguments.callee();
 8         }
 9         return arr;
10     })()
11 }
12 show(5)//[1,2,3,4,5]

现在arguments.callee 被弃用了。怎么办,其实很简单,给内部函数一个名字即可

 1 function show(n) {
 2     var arr = [];
 3     return (function fn() {
 4         arr.unshift(n);
 5         n--;
 6         if (n != 0) {
 7             fn();
 8         }
 9         return arr;
10 
11     })()
12 }
13 show(5)//[1,2,3,4,5]


以上是关于一道有趣的面试题的主要内容,如果未能解决你的问题,请参考以下文章

一道有趣的面试题

一道容易栽坑的有趣的面试题(关于js,定时器,闭包等)

一道有趣的阿里面试题

测试开发实战|一道有趣的大厂测试面试题,你能用 Python or Shell 解答吗?

一道面试题

一道有趣的签到题