编写一个方法去掉数组里面重复的内容 var arr=[1,2,3,4,5,1,2,3]
var arr=[1,2,3,4,5,1,2,3]
//定义方法
//方法一 通过filter过滤
//arr.filter三个参数 每一项 下标 原数组
//原理 由于indexOf检索数组 只能检索 相同的数据只能检索第一个
//所以如果和下标相等 就可以做到去重的效果
function Remover(arr){
return arr.filter((item,index)=>{
return array.indexOf(item)==index
})
}
//方法二
//利用es6新增Set 因为Set可以去重
function Repeat(arr) {
//[...]是为了转化辉数组
return [...new Set(arr)]
}
//方法三
//reduce() 同时对数组中的两个值应用一个函数(不会百度)
var newArr = arr.reduce(function (prev, cur) {
prev.indexOf(cur) === -1 && prev.push(cur);
return prev;
},[]);
// 还有很多做法 比如 新建一个空数组 通过indexOf
//如果新数组 没有会返回-1在往里添加 等待