您的位置:首页 > 职场人生

前端面试常见问题——字符串反转

2017-10-29 16:00 274 查看
这道题呢,来源于一篇文章,《如何准备一次技术面试》,它以作为面试官的角度讲了一些技术面试的小技巧。

大家应该也都知道技术面试中对于基础知识的考察,总是从一些基本的问题,层层深入。

字符串反转就是一个面试的常见问题。这是我最初的解法,当然也是大部分人的解法:

//解法一
function reverse(str){
for(var i=0;i<str.length;i++){
newstr=str.charAt(i)+newstr;
}
return newstr;
}
console.log(reverse(str));


这段代码并没有问题,但并不是一个好的答案。这个时候面试官大多会引导面试者去优化他,去完善他,或者能否提供更好的解决方案。如果能够在提供多种方案,并能够比较优劣的话,将会是一次比较好的面试。

那么还有哪些比较好的解法呢?

//解法二
function reverse(str){
if(str.length===1){
return str
}
return str.slice(-1)+reverse(str.slice(0,-1));
}
console.log(reverse(str));


//解法三
function reverse(str) {
return str.split('').reduce((prev, next) => next + prev);
}
console.log(reverse(str));


//解法四
function reverse(str) {
return str
.split('')
.reverse()
.join('')
}
console.log(reverse(str));


1、 数组、字符串的常用方法:

2、 For循环性能及如何优化:Javascript中for循环语句的几种写法总结对比

3、 递归函数主要注意的问题:递归实现的方法及注意事项

4、 函数式编程:函数式编程初探
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面试 前端 字符串