數組從新賦值失敗

問題: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

相關文章
相關標籤/搜索