# 前端面试题答案整理

1. 数组去重的方法有哪些?

  • [...new Set(arr)]
  • map遍历

2.如何判断左右小括号是否全部匹配。如 ( ( ))()((((())))) 用栈来做。遇左括号,进栈。遇右括号,出栈。最后看栈是否为空即可。

const judgeBracketsMatch = (s)=> {
    const result = [];
    for(let i = 0;i < s.length;i++){
        if(s[i] === '('){
            result.push(s[i])
        }
        if(s[i] === ')'){
            result.pop()
        }
    }
    if(result.length){
        return false
    }else{
        return true
    }
}

3.JS 的事件机制 https://github.com/LuckyWinty/subjectBook/blob/master/chapter1/jsyin-qing-shi-jian-xun-huan-ji-zhi.md

4.如何劫持 XMLHttpRequest 的 send() 方法,调用他的时候,把参数输出到控制台。 5.git 和svn 的区别,git 的本地仓库有什么用呢?

  1. Git是分布式的,SVN是集中式的 这是 Git 和 SVN 最大的区别。因为 Git 是分布式的,所以 Git 支持离线工作,在本地可以进行很多操作,包括分支功能。而 SVN 必须联网才能正常工作.

关注作者公众号

一起学习成长,一起浪~

加群学习交流

扫描二维码,备注加群