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

在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]:'张三'
    })
  },
});

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

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值