1.去重
方法一:set去重
ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化。
function unique (arr ){
var x = new Set(arr);
return [...x];
};
unique([1,2,3,4,5,2,3,4]) //1,2,3,4,5
方法二:filter去重
filter()接收的回调函数,其实可以有多个参数。通常我们仅使用第一个参数,表示Array的某个元素。回调函数还可以接收另外两个参数,表示元素的位置和数组本身:
let arr = [1,2,3,4,5,6,7,4,5,6]
arr.filter(function(item,index,arr){
return arr.indexOf(item) === index
})
//[1,2,3,4,5,6,7]
2.筛选
方法一:for循环遍历
如:场景:筛选出两个数组中相等的值
function uniqueTree (uniqueArr,Arr) {
let uniqueChild = []
for(var i in Arr){
for(var k in uniqueArr){
if(uniqueArr[k] === Arr[i]){
uniqueChild.push(uniqueArr[k])
}
}
}
return uniqueChild
}
let a = [2, 10, 37, 38, 39, 4];
let b = [1,2,3,4,5,6,7,8,9,10];
uniqueTree(a,b) //2,4,10
方法二:filter 过滤掉相同项
var a=[1,2,3,4,5]
var b=[2,3,7,8,9]
a.filter(item=>b.indexOf(item)==-1) //1,4,5
方法三:filter+includes //留下相同项
var a=[1,2,3,4,5]
var b=[2,3,7,8,9]
a.filter(item=>b.includes(item)) //2,3
文章会持续更新,可以点关注看最新文章呦~✨❤️
网友评论