最近遇到要写一个查询,查询的方法很多,但逛社区的时候发现了filter这个方法很好用,记录一下。
filter:查询数组中符合给定条件的所有值
例子如下:
let jsonArr = [
{id:'1',name:'lisi',age:30},
{id:'2',name:'zhangsan',age:20},
{id:'3',name:'lisi',age:30}
]
//找到 age 为 30的所有值
jsonArr.filter(item=>item.age===30) //[{id:'1',name:'lisi',age:30},{id:'3',name:'lisi',age:30}]
//找到 age为 301的所有值
jsonArr.filter(item=>item.age===301) //[]
实际运用:
获取数据后使用filter对数组进行筛选,获取到想要的数据后重新赋值给渲染到页面的数组即可。
<script>
export default {
data() {
return {
tableDate: [],
}
},
methods: {
//查询
find() {
//this.tableDate已获得数据的前提下
this.tableDate = this.tableDate.filter(
(item) => item.name === this.search.name
);
},
}
}
</script>
原文章中还有很多有用的方法。有兴趣的可以去看看。