当我们需要把一些数据组装起来,封装成我们需要的数据结构形式,这里来举个例子。
以下为要构建成的目标数据结构:
{
"groupName": "心情",
"groupDatas": [
{
"code": "01",
"title": "例01",
"anInfo": [
{
"saveFlag": true,
"saveValue": "1"
}
]
},
{
"code": "02",
"title": "例02",
"anInfo": [
{
"saveFlag": true,
"saveValue": "2"
}
]
}
]
}
构建数据结构
接下来我们看看如何构建这样的数据结构:
Page({
/**
* 页面的初始数据
*/
data: {
motto: '小程序学习',
userInfo: {},
hasUserInfo: false,
canIUse: wx.canIUse('button.open-type.getUserInfo'),
data2:{}
},
onLoad: function (options) {
var that = this;
//构建数据模型
var QDatas=[]
var anInfos=[]
that.setData({
['anInfos[' + 0 + '].saveFlag']:true,
['anInfos[' + 0 + '].saveValue']:'1',
['anInfos[' + 1 + '].saveFlag']:true,
['anInfos[' + 1 + '].saveValue']:'2'
})
that.setData({
['QDatas[' + 0 + '].code']:'01',
['QDatas[' + 0 + '].title']:'例01',
['QDatas[' + 0 + '].anInfo']: that.data.anInfos[0],
['QDatas[' + 1 + '].code']:'02',
['QDatas[' + 1 + '].title']:'例02',
['QDatas[' + 1 + '].anInfo']: that.data.anInfos[1]
})
that.setData({
'data2.groupName':'心情',
'data2.groupDatas':that.data.QDatas
})
}
修改值
了解了这种复杂数据类型结构的构造方式,其实修改它的值的方式也是同样的,例如我们要修改该数据的saveValue为其他内容:
var saveValues=['新value01','新value02']
for (var data_index in that.data.data2.groupDatas) {
that.setData({
['groupDatas[' + data2_index + '].anInfo[' +data2_index+ '].saveValue']: saveValues[data_index]
})
}