一、使用filter进行数据过滤
//已上按钮
hadclass(index){
let res=this.changeList.filter(function(item,index,array){
return(item.status==1);
});
this.leftbtn = true
this.showbtn = false
this.result[index].list= res;
},
点击已选按钮,筛选过滤状态为1的数据
//未上按钮
noclass(index){
let res=(function(item,index,array){
return(==2);
});
= true
= false
[index].list= res;
},
筛选状态为二的数据
[index].list= res;使用后端返回的数据赋值会改变原始数据
那么,我们该如何解决这个问题呢??
接下来就是解决的方法!!!!!!
**
使用数组深拷贝方法
**
- 这里为介绍 数组深拷贝的文字描述。
- () 是将字符串中的对象解析出来。
var str = "{'name':'huahua','age':'22'}";
JSON.parse(str);
var obj = {name:"hua",age: 26};
JSON.stringify(obj);
不会污染原数据,新深拷贝一个数组,使用((obj))不会改变原有数据
let son_one = JSON.parse(JSON.stringify(this.father))
let son_two = JSON.parse(JSON.stringify(this.father))
for (let i = 0; i < son_two .length; i++) {
if (list[i].children) {
let _list = son_two [i].children
for (let j = 0; j < _list.length; j++) {
if (_list[j].children) {
delete(_list[j].children)
}
}
}
}
使用((obj)会返回原来的数组数据,而不是过滤后的数据
本篇文章精彩到此!!共同一起前端开发,加油!!