码迷,mamicode.com
首页 > 编程语言 > 详细

数组重新赋值失败

时间:2020-04-30 11:30:12      阅读:53      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!