微信小程序用setData修改数组或对象中的一个属性值

时间:2022-10-19 10:32:36

在page中有如下数组

 1 data: {
2 info:[
3 {
4 name:"yuki",
5 tou:"../img/head.jpg",
6 zGong:130,
7 gMoney:222222
8 },
9 {
10 name: "yuki",
11 tou: "../img/head.jpg",
12 zGong: 130,
13 gMoney:222222
14 },
15 {
16 name: "yuki",
17 tou: "../img/head.jpg",
18 zGong: 130,
19 gMoney:222222
20 },
21 {
22 name: "yuki",
23 tou: "../img/head.jpg",
24 zGong: 130,
25 gMoney:222222
26 },
27 {
28 name: "yuki",
29 tou: "../img/head.jpg",
30 zGong: 130,
31 gMoney:222222
32 }
33 ]
34 }

需求:把info[0].gMoney修改成1

一般情况下,我们会这样写

微信小程序用setData修改数组或对象中的一个属性值

 

但很明显,编辑器已经报错了。

 

解决方法如下:

  第一步:先用一个变量,把(info[0].gMoney)用字符串拼接起来。

  第二步:将变量写在[]里面即可。

 

具体写法如图:

1 onLoad: function () {
2 var that=this;
3 var up = "info[" + 0 + "].gMoney";//先用一个变量,把(info[0].gMoney)用字符串拼接起来
4 that.setData({
5 [up]:1
6 })
7 }