手写数组去重

1
2
3
4
5
function unique(arr){
return [...new Set(arr)]
}
var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
console.log(unique(arr))

1
2
3
4
5
6
7
8
9
10
11
12
function unique(arr){
for (var i=0;i<arr.length;i++){
for (var j=0;j<i<arr.length+1;j++){
if(arr[i]===arr[j]){
arr.splice(j,1);
j--;
}
}
}
}
var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
console.log(unique(arr))

手写数组倒序
各种场景下的this指针问题
冒泡,选择,插入排序用js怎么写,时间复杂度多少空间复杂度多少
http和https有什么区别 端口号多少
三次握手过程
四次挥手过程
域名解析过程
三列布局中间固定左右自适应的三种写法
变量提升问题
那些数组方法会生成一个新数组,那些不会生成新数组
上面那些问题回答不上来说明你不仅前端不行,上大学也没好好学习,赶紧滚去学习吧

下面这些问题是针对一般学习前端两个月都应该会的问题,如果已经学习很久了这些问题还是有盲区的化说明前端不适合你,或者你不适合前端
怎样理解语义化
怎样理解表现与样式分离
什么是混杂模式严格模式,怎样触发
常见的mate 标签
什么是文本流 文档流 dom树
什么是行元素 什么是块元素 通过那些属性可以让行元素转换成块元素
可以设置宽高的行元素叫什么
css常见几种选择器
选择器的权重值分别多少
js中有几种变量类型 哪些放在堆 哪些放在栈
变量类型隐形转换问题
如何声明函数

下面这些问题是一个前端开发应该会的,如果不会就别去找工作让面试官鄙视你
闭包是什么,怎么形成这种结构 有什么用处何危害 有没有实际的案例
settimeout在不同的情况下的执行顺序
settimeout中的this指针指向
手写继承实现
手写深浅数组克隆
手写一个方法取出url后面的参数
几种跨域的方法
手写ajax函数兼容ie和标准浏览器
浏览器状态码有哪些

下面这些问题是最近比较常问的,回答不上来一定会pass
什么是宏任务什么是微任务
promise的运行机制,几种状态
介绍缓存机制
cookie session localstorage区别
mvc mvvm区别
angular vue react区别
angular双向数据绑定原理
vue双向数据绑定原理
什么是虚拟dom 怎么实现
vue组件传值的五种方法
vuex是什么
输入一个url到页面显示都会发什么
性能优化的点
如何实现节省流量
前端安全攻击有几种 如何避免
dom树的节点遍历
先这些吧后续再补,虽然现在出现了很多简化dom操作的框架,这些框架可以让面试者很轻松的隐藏掉自己的js基础方面的不足
但是js基础一直是重中之重,一些很复杂的问题都是从js基础进行分析解决的,不要觉得学了几个框架,抄了几个demo就可以自信满满的去找工作了,面试官更看重的是学习能力和基础。

转载请保持原始链接

原始链接: https://ru23.com/note/3d3ed3e0.html