今天用到处理数组交集的问题,顺手总结一下用原生API处理数组交集/并集的方法。
首先介绍连个原生js方法:
1.Array.prototype.filter()方法
|
|
currentValuex是当前元素,
index,当前元素下标,
arr当当期数组对象。
filter()方法接收一个函数,和一个可选值thisValue,返回符合条件的一个新数组。
实例1234var o = [345,23,1,2];var b = o.filter(function(cur) { return cur > 40;})//b = [345]
2.Array.prototype.reduce()方法
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
reduce()方法接收一个计数器函数和initialValue初始值(可选)
其中,函数的参数
total结果值, currentValue当前元素, currentIndex当前元素索引值, arr当期数组对象
实例:1234var a = [1,2];var sum = a.reduce(function(res,cur,index) { return res + cur})//3
多数组交集
|
|
多数组并集
|
|
ES7有更简洁的方法
交集
|
|
并集
|
|
判断元素是否在数组中
|
|