微信小程序中如何使用setData修改数组或对象中的某一参数?

本人也是刚开始接触微信小程序,在微信小程序中经常会遇到修改数组中某一项的值,比如array[0]或者是对象中object.item的值。这些值在微信小程序中都需要使用一个名为setData的方法,而这个方法是通过键值对的形式对数据进行修改,setData({ 参数名: 值 });

既然知道是以键值对的方式进行传参,那么我们在修改数组和对象的时候就直接将要修改的参数名写成对应字符串就可以了,然后使用[]将字符串括起来,这就告诉编译器这是指向的是该字符对应的实际位置,如下:

var authority = 'buttonGroup.authority'
that.setData({
[authority]: parseInt(level)
})
var printPrice = "item["+i+"].print_price";
this.setData({
[printPrice]: e.detail.value 
});
onLoad: function () {
      var that=this;
      var up = "info[" + 0 + "].gMoney";//先用一个变量,把(info[0].gMoney)用字符串拼接起来
      that.setData({
        [up]:1
      })
  }