微信小程序或支付宝小程序修改对象数组内某一项的值

在js文件中的data数据如下

data: {
    info:p[
      {
        name:"jack",
        value:5
      },
      {
        name:"tom",
        value:2
      },
      {
        name:"rose",
        value:4
      },
      {
        name:"lucy",
        value:3
      }
    ]
  },

需要把对象数组中某一项里的某个值修改成我们想要的值,而在微信小程序或者支付宝小程序中,修改data中的值要使用setData,但是setData又只能使用key:value的形式来修改,所以解决办法可以如下

1.用一个变量,把需要修改项的键保存起来。

如 

var key='info[1].name'//注意:此处的键必须为字符串格式

2.在setData时将变量写在[]里面。

this.setData({
        [key]:'张三'
     })

完整代码如下

Page({
  data: {
    info:[
      {
        name:"jack",
        value:5
      },
      {
        name:"jack",
        value:5
      },
      {
        name:"jack",
        value:5
      },
      {
        name:"jack",
        value:5
      }
    ]
  },
  onLoad() {
    var key='info[1].name';
    this.setData({
      [key]:'张三'
    })
  },
});

在页面上遍历出修改过后的数据

 

微信小程序和支付宝小程序实现方法一致

posted @ 2019-01-05 18:57  一捆铁树枝_james  阅读(254)  评论(0)    收藏  举报