前端面试题: js中 数组去重

这类问题在面试中还是比较常问的,今天就来整理几种方法
1.先说一种最简单的方式
根据es6中的 Set数据结构 来做

var arr=[1,1,2,3,4,4,5,6,6];
console.log([...new Set(arr)])

2.当然 新方法 你会也要会传统的 方法 解决

var arr=[1,1,2,3,4,4,5,6,6];
var newArr=[];
for(var i=0;i<arr.length;i++){
	if(newArr.indexOf(arr[i])==-1){
		newArr.push(arr[i]);
	}
}
console.log(newArr)

3.还有就是es6 新增的 include 方法 和上面的本质上有点类似也一样

var arr=[1,1,2,3,4,4,5,6,6];
var newArr=[];
for(var i=0;i<arr.length;i++){
	if(!newArr.includes(arr[i])){
		newArr.push(arr[i]);
	}
}
console.log(newArr)

最后就是 我碰见 有些公司会让手写原生的ajax对象 还兼容ie浏览器 我在这里也算回忆一下

var xmlhttp;
if(window.XMLHttpRequest){
	console.log('标准ajax')
	xmlhttp=new XMLHttpRequest()
}else{
	alert('ie浏览器')
	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("get",url,true);
xmlhttp.send(null);
xmlhttp.onreadystatechange=function(){
	if(xmlhttp.readyState==4&&xmlhttp.status==200){
		console.log(xmlhttp.responseText)
	}
}

祝大家面试中都找到合适的工作

发布了196 篇原创文章 · 获赞 66 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/yunchong_zhao/article/details/104542382