2020Web前端开发高频面试题及答案解

北京中科白癜风 http://www.ykhongye.com/
Web前端开发面试题,前端开发基础教程

问题一:两个打印的结果分别是什么?

varscope=global;

functionfn(){

console.log(scope);

varscope=local;

console.log(scope);

}

fn();

解析:undefinedscope

只要函数内定义了一个局部变量,函数在解析的时候都会将这个变量“提前声明”,等同于下面这样写:

varscope=global;

functionfn(){

varscope;//提前声明了局部变量

console.log(scope);//undefined

scope=local;

console.log(scope);//local;

}

fn();

问题二:将数组扁平化并去重,最终得到一个升序且不重复的数组

vararr=[[1,2,2][3,4,5,5],[6,7,8,9,[11,12,[12,13,[14]]]],10];

解析:[...newSet(arr.flat(Infinity))].sort((a,b)=a-b)

实现方法有很多,这里用一个相对最简单的方案,首先通过Array.prototype.flat()方法,传入Infinity将数组无限级降为一维数组,然后通过Set类型的不重复数据,将数组项去重,最后直接通过Array.prototype.sort方法将数组升序排列即可。




转载请注明:http://www.aierlanlan.com/grrz/4701.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了