filter函数一般用法,过滤数组,但不会改变原来数组,return返回一个新数组。
data : [
{ value: '50', name: '活跃应用', value1: '50' },
{ value: '20', name: '复活应用', value1: '20' },
{ value: '20', name: '失活应用', value1: '20' },
{ value: '10', name: '新发现应用', value1: '10' }
],
const arr = this.data.filter((i) => {
return i.name !== '失活应用'
})
console.log(arr);
arr : [
{ value: '50', name: '活跃应用', value1: '50' },
{ value: '20', name: '复活应用', value1: '20' },
{ value: '10', name: '新发现应用', value1: '10' }
],
filter()还可以用来去重
var data = ['手机号', '电子邮箱', 'IPV4', 'IPV6', '护照', '地址', 'IPV6', '护照']
const newNrr = data.filter(function(currentValue, index, arr) {
return arr.indexOf(currentValue) === index
})
console.log(newNrr)
newNrr : ['手机号', '电子邮箱', 'IPV4', 'IPV6', '护照', '地址']
/* 去除重复元素依靠的是indexOf总是返回第一个元素的位置,
后续的重复元素位置与indexOf返回的位置不相等,因此被filter滤掉了。*/