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

几道前端面试题

2017-09-22 10:32 387 查看
这几天跑了好多宣讲会,也做了不少笔试,给我印象最深的还是这些笔试题没有一道和前端技术有关的,大多数都是算法题

.好吧,言归正传有两道题 我影响深刻.

1.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b.

这题我做的时候一直在想怎么用JS写出来,想了好久感觉没写好,于是回来后仔细思考了下,总算是写出来比较满意的解法了.

function least(string){
var o={};
var len=string.length;
for(var i=0;i<len;i++){
var k=string.charAt(i);
if(o[k]){
o[k]++;
}else{
o[k]=1;
};
}
var min=len;
for(var k in o){
if(min>o[k]){
min=o[k];
}
}
for(var k in o){
if(min==o[k]){
console.log(k)
}
}

}




2.function repeat (func, times, wait) {} 这个函数能返回一个新函数,比如这样用var repeatedFun = repeat(alert, 10, 5000)调用这个 repeatedFun ("hellworld")会alert十次 helloworld, 每次间隔5秒 .
function repeat (func, times, wait) {
return function(str){
for(var i=0;i<times;i++){
(function(){
setTimeout(function timer(){
func(str)
},wait*i)
})(i)
}
}
}

var repeatedFun = repeat(alert, 10, 5000);

repeatedFun ("hellworld");


这题就是闭包的运用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: