收藏
回答

对数组push()后,下次push()会覆盖这次push的内容?但数组长度没错

基础库版本 2.11.2

部分代码如下:
drawing:function(e){
          var that = this;
          console.log(e);
          if(that.data.drawing){
            that.data.polygon.push(that.data.example);
            that.setData({
              drawing:false,
              polygon:that.data.polygon
            })
          }else{
            that.data.example['points']=[];
            that.data.example['id']++;
            that.setData({
              drawing:true
            })
          }

        },

这是一个按钮事件,polygon被 加值后,在下次开启加值时,会将之前加的值替换,但对原本的值无影响,即几次push后,所有push的值都会变成最后一次push的值

回答关注问题邀请回答
收藏

1 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    06-23
    drawing:function(e){
      var that = this;
      console.log(e);
      if(that.data.drawing){
        that.data.polygon.push(Object.assign({}, that.data.example))
            // 或者 that.data.polygon.push(JSON.parse(JSON.stringify(that.data.example
        that.setData({
          drawing:false,
          polygon:that.data.polygon
        })
      }else{
        that.data.example['points']=[];
        that.data.example['id']++;
        that.setData({
          drawing:true
        })
      }
    },
    
    06-23
    有用 1
    回复 1
    • 赵正行
      赵正行
      06-24
      感谢感谢,这样是不是就将引用地址变成了加值?
      06-24
      回复
登录 后发表内容
问题标签