语法:
var newArray = arr.filter(callback(element[, index[, array]])[,thisArg])
参数:
callback
用来测试数组的每个元素的函数。返回 true 表示该元素通过测试,保留该元素,false 则不保留。它接受以下三个参数:
element
数组中当前正在处理的元素。
index可选
正在处理的元素在数组中的索引。
array可选
调用了 filter 的数组本身。
thisArg可选
执行 callback 时,用于 this 的值。
返回值:
一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组。
举例:
使用 filter() 根据搜索条件来过滤数组内容。
function dff(arr1,arr2){
var newArr=[];
var newArr1=arr1.filter(function(value){
return arr2.indexOf(value)===-1;
});
var newArr2=arr2.filter(function(value){
return arr1.indexOf(value)===-1;
});
return newArr1.concat(newArr2);
}
diff([1,2,3],[2,3,4]);