微信小程序之新增key value和修改key对应的value值。

新增key value修改key对应的value值,·写法是一模一样的,很重要,很重要,很重要,要学会举一反三。

1.新增key value:先上接口获取数据的相关代码。

// 获取社保缴费年份列表. 参数为被查询人的id
  insurance_YearInfo(userId) {
    var that = this
    api.post({
      url: 'wxapp/chaxun/get_detail_year',
      data: {
        userid: userId,
        account:that.data.idCard,
      },
      success: data => {
        if (data.code == 1) { // 保存成功

          console.log('原始的get_detail_year接口中data数据如下',data);
          
        for(var item in data.data){
          data.data[item].isHidden = true;
          data.data[item].yearisClick = false;
        }
          console.log('额外增加key、value之后,get_detail_year接口中data数据如下', data);

          this.setData({ // 设置数据到UI上
            insurance_yearList: data.data
          });


        } else {
          // 隐藏加载框
          // wx.hideLoading();
          api.show_toast(data.msg, 2000);
          // api.show_toast('保存失败', 2000);
        }

      },
      fail: err => {

      }
    });
  },

核心代码如下

 for(var item in data.data){
     data.data[item].isHidden = true
     data.data[item].yearisClick = false;
  }

新增isHidden:true ;以及yearisClick:false;这两个key value,打印结果如下

image.png


2.修改key对应的value值:先上接口获取数据的相关代码。


  // 获取社保缴费明细. 第二个参数为被查询人的id
  insurance_Paydetail(year, userId) {
    // wx.showLoading({
    //   title: '正在登录',
    //   mask: true,
    // })
    var that = this
    var user = wx.getStorageSync('user');
    console.log(user.id)
    // console.log(year)
    console.log('上面为真实uerid的值')
    api.post({
      url: 'wxapp/chaxun/get_detail',
      data: {
        userid: user.id,
        year: year,
        account: that.data.idCard,
      },
      success: data => {
        if (data.code == 1) { // 保存成功

          console.log(data);
          console.log(that.data.idCard);
          // 隐藏加载框
          // wx.hideLoading();

          for(var item in data.data){
            data.data[item].n_base = parseInt(data.data[item].n_base);// parseInt()会得到 整数或者NaN,不会有小数的情况
          }

          this.data.insurance_DetailListData = data.data;
          console.log(this.data.insurance_DetailListData);
          console.log("明细");
          this.setData({ // 设置数据到UI上
            insurance_detailList: data.data
          });


        } else {
          // 隐藏加载框
          // wx.hideLoading();
          api.show_toast(data.msg, 2000);
          // api.show_toast('保存失败', 2000);
        }

      },
      fail: err => {

      }
    });
  },

核心代码如下

for(var item in data.data){
            data.data[item].n_base = parseInt(data.data[item].n_base);// parseInt()会得到 整数或者NaN,不会有小数的情况。
}

修改n_base这个key对应的value,打印结果如下

image.png

解释:

数组的每项是一个对象,对象可以有很多个属性。

PS:不知道是我们项目封装的网络请求的原因还是系统的原因,不打断点打印的两个log输出的内容一模一样,但是两个log之间做了数据的处理,打印的内容应该是不一样的。我的解决办法是:在两个log左边打上断点即可。以上的两个截图就是打印断点得到的,但是不打印断点就会有打印的数据是一样的问题。

你可能感兴趣的:(微信小程序之新增key value和修改key对应的value值。)