数组重新赋值失败

2021-02-02 19:17

阅读:499

标签:rda   rop   ==   select   spl   赋值   解析   OLE   this   

问题:

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:

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的值改变了

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

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

改写后

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的框架有关吧


数组重新赋值失败

标签:rda   rop   ==   select   spl   赋值   解析   OLE   this   

原文地址:https://www.cnblogs.com/taokele/p/12807528.html


评论


亲,登录后才可以留言!