使用方法filter indexOf
handleywQuery(){
//this.ywQuery findIndex filter
console.log(this.userGgList,'1234');
//this.user=this.userGgList
this.user =JSON.parse(JSON.stringify(this.userGgList)) //对原始数据进行保存,重置时在赋值给原数组
this.userGgList = this.user.filter((item)=> item.nickName.indexOf(this.ywQuery.nickName)!=-1 )
},
resetywQuery(){
this.ywQuery.nickName=''
this.userGgList = JSON.parse(JSON.stringify(this.user))
},
/* 重置 */
resetShopQuery(){
this.resetForm("shopQuery");
this.loadShopData();
},
问题1
this.user=this.userGgList 数据操作时总是进行= ,应该使用this.user=JSON.parse(JSON.stringify(this.userGgList))进行数据操作
问题2
数组方法不熟悉,最开始使用的findIndex只能进行精确搜索,不能实现模糊搜索,没有想到其他方法,以及数组方法的返回值也不够熟悉,
filter
filter()方法创
注意:filter() 不会对空数组进行检测。
注意:filter() 不会改变原始数组。
建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
indexOf
indexOf()
方法是 JavaScript 数组对象的内置方法之一,用于查找指定元素在数组中的索引位置
找到元素返回元素的索引值,找不到返回-1;
this.user.forEach((item)=>{
if( item.nickName.indexOf(this.ywQuery.nickName)==-1){
this.userGgList.pus(item)
}
})