本文收錄了一些在Web前端開發面試中經常會遇到的面試題及答案,希望對大家有所幫助,若有所疏漏歡迎指正。
Web前端面試題:怎樣查找字符串中出現最多的字符和個數?
解析:例: abbcccddddd -> 字符最多的是d,出現了5次
let str = "abcabcabcbbccccc";
let num = 0;
let char = '';
// 使其按照定的次序排列
str = str.split('').sort().join('');
// "aaabbbbbcccccccc"
// 定義正則表達式
let re = /(\w)\1+/g;
str.replace(re,($0,$1) => {
if(num <
$0.length){ num
= $0.length;
char = $1;
}
});
console.log(`字符最多的是${char},出現了${num}次`);
Web前端面試題題:如何轉化為駝峰命名?
解析:var s1 = "get-element-by-id"
//轉 化 為 getElementById
var f = function(s) {
return s.replace(/-\w/g, function(x)
{ return x.slice(1).toUpperCase();
})
}
Web前端面試題題:模板引擎如何實現?
解析:let template = '我是{{name}},年齡{{age}},性別{{sex}}';
let data = {
name: '姓名',
age: 18
}
render(template, data); // 我是姓名,年齡18,性別undefined
function render(template, data) {
const reg = /\{\{(\w+)\}\}/; // 模板字符串正則
if (reg.test(template)) { // 判斷模板裡是否有模板字符串
const name = reg.exec(template)[1]; // 查找當前模板裡第個模板字符串的欄位
template = template.replace(reg, data[name]); // 將第個模板字符串渲染
return render(template, data); // 遞歸的渲染並返回渲染後的結構
}
return template; // 如果模板沒有模板字符串直接返回
}
以上就是小科今天整理提供的Web前端開發面試題,希望為Web前端同學提供了有用的面試素材,以後小科每日均會提供Python、Web及MySQL資料庫相關的習題。學習沒有捷徑,希望大家都能少走一些彎路,順利找到工作!