数组从新赋值失败

问题:vue

rightSelectChange:function (item) {
                let filterArr=this.selectData.filter(value=>{
                    return value.id!==item.id
                });
                this.selectData=filterArr;
                console.log(filterArr);
                console.log(this.selectData);
                this.filterData();
            },

打印结果是:this.selectData的值仍是原来的值 没有改变框架

问题2:this

let item={id:1,name:'aaa'},
let selectData=[{id:1,name:'aaa'},{id:2,name:'bbb'}]

let filterArr=selectData.filter(value=>{
    return value.id!==item.id;
})

selectData=filterArr;
console.log(filterArr);
console.log(selectData);

打印结果:selectData的值改变了spa

解析:原来觉得跟数据类型的指针有关,可是问题2显示不会,指针

问题1是再vue中写的,后来换了一种写法code

改写后blog

rightSelectChange:function (item) {
                this.selectData.forEach((value,index)=>{
                    if(value[this.props.key]===item[this.props.key]){
                        this.selectData.splice(index,1);
                    }
                });
                this.filterData();
            },

打印结果:this.selectData的值改变了,可能跟vue的框架有关吧it

相关文章
相关标签/搜索