300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Web前端开发高频面试题及答案解析

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

时间:2020-03-27 01:28:28

相关推荐

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

Web前端开发面试题,前端开发基础教程

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

var scope = "global";

function fn(){

console.log(scope);

var scope = "local";

console.log(scope);

}

fn();

解析:undefined scope

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

var scope = "global";

function fn(){

var scope; //提前声明了局部变量

console.log(scope); //undefined

scope = "local";

console.log(scope); //local;

}

fn();

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

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。