filter
filter() 方法创建一个新数组, 其包含达到条件的所有元素。
filter筛选
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
const result = words.filter(word => word.length > 6);
return resul;
// ["exuberant", "destruction", "present"]
filter去重
element: 数组中当前正在处理的元素。
index可选: 正在处理的元素在数组中的索引(下标)。
self可选: 调用了 filter 的数组本身。
thisArg可选: 执行 callback 时,用于 this 的值。
//利用filter去重
let r = [];
const arr = ['apple', 'strawberry', 'banana','pear', 'apple', 'orange', 'orange', 'strawberry'];
r = arr.filter(function(element, index, self) {
return self.indexOf(element) === index;
});
return r;
/**
* 第一次循环
*
* element是apple
* index是0
* self是apple,strawberry,banana,pear,apple,orange,orange,strawberry
*
* 第二次循环
*
* element是strawberry
* index是1
* self是apple,strawberry,banana,pear,apple,orange,orange,strawberry
*/
//数组去重
let arr = ['apple', 'strawberry', 'banana','pear', 'apple', 'orange', 'orange', 'strawberry'];
return Array.from(new Set(arr))
filter过滤
const parentRule = list.filter(item => item.parentId != null);