-
给定一个数组,请输出一个随机排序的数组
-
字符串反转. eg: "I am a student!"
-
函数接收1...n个无复重数组作为参数。求这些数组的交集
-
给定两个对象 obj1 = {nane : '李明' , age : 20} obj2 = {age : 20 , name : '李明' },他们JSON.stringify后的结果是一样的吗? 请写一个stringify的函数,要求,对于key vlaue一样的对象,要求输入字符串一致。
-
给一个函数
resize, 要求- 实现当用户缩放浏览器时,每500ms 最多只调用一次该函数
- 实现当用户停止缩放浏览器500ms后,调用一次该函数。
-
请实现一个promise接口请求函数。成功调用resolve,失败则重试三次后,调用reject;
笔试
- 字符串与Array.prototype.map()
function toString(map){
return Object.keys(map)
.map( ___________________________________________________ )
.join('&');
}
toString({a:1 , b:2 , c:3}) // a=1&b=2&c=3
- 字母排序 与 Array.prototype.sort()
function sort(str){
return str.split('')
.sort((a,b)=> ________________________________________________ )
.join('');
}
sort('LeBronJames') // sronmeeaLJB
- 正则表达式 与 String.prototype.replace()
function camel2snake(str){
return str.replace( _________________________ , match => ________________________ )
}
camel2snake('fateStayNight'); // -> fate_stay_night
- 数组扁平化
function flattenDeep(list){
var flattenArr = [];
for(var item of list){
if( ____________________________________________ ){
flattenArr.push(item);
}else{
____________________________________________
}
}
return flattenArr;
}
flattenDeep([1 , [ 2 , [ 3 , [4] , 5]]]); // [1,2,3,4,5]
- 统计单词出现的次数
function count(list){
const map = new Map();
for(var str of list){
if(__________________________________){
___________________________________________
}else{
___________________________________________
}
}
return Object.fromEntries(map);
}
count(['a' , 'a' , 'b' , 'c' , 'b' , 'a']); // {a:3 , b:2 , c:1}