熙牛医疗第一轮笔试
一共三题,时间60分钟,在showmebug上笔试。
1.手写防抖
// 模拟表单提交
function submitForm(index){
console.log('submit' + index);
}
// 请实现
function handleSubmit(func, timeout) {
}
// 实际执行函数
const submit = handleSubmit(submitForm, 1000);
// 测试用例
submit(1);
submit(2);
setTimeout(() => {
submit(3);
setTimeout(() => {
submit(4);
setTimeout(() => {
submit(5);
setTimeout(() => {
submit(6);
setTimeout(() =>{
submit(7);
setTimeout(() => submit(8), 800);
}, 200);
}, 1000);
}, 500);
}, 200);
}, 100);
// 输出
// "submit1"
// "submit6"
2.判断数据是否为空(空对象,空数组,单个或多个空格的字符串)
3.获取url参数
// 请实现此方法
const getURLParam = (url, param) => {
// code here
}
/**测试用例*/
const url = 'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu';
const param1 = getURLParam(url,'tn');
console.log(param1); // baidu
const param2 = getURLParam(url,'ie');
console.log(param2); // utf-8
const url2 = 'http://hbos-section-dev.cfuture.shop:8000/?name=%E5%BC%A0%E4%B8%89&age=18&gender=%7B%22key%22%3A1%2C%22value%22%3A%22%E7%94%B7%22%7D&cardNo=医保1&cardNo=社保2&address=%E5%A4%A9%E5%BA%9C%E4%BA%8C%EF%BC%9F%E4%B8%89%E8%A1%97';
const cardNo = getURLParam(url2, 'cardNo');
console.log(cardNo); // ["医保1", "社保2"]
const gender = getURLParam(url2, 'gender');
console.log(gender); // {"key":1,"value":"男"}
const address = getURLParam(url2, 'address');
console.log(address); // 天府二?三街