我知的有两种(推荐用第二种) 还有个合并数组
大类 var array_one=[ {aa:'1'} ] 还有种 var array_one={aa:'1'}
第一种: (注意 :var array_one=[ {aa:'1'} ] 这种才有效)
var array_one=[];//我是在 Page 外写的
在Page调用array_one 有点像以往的数组写法
//循环写值 res.data.data 某(请求的)数组
var that=this;
for (var ii = 0; res.data.data.length > ii; ii++) {
array_one[ii]=res.data.data.xxx;
that.setData({
//页要用还 要写入当前的 page.data 这样页面就能{{ aaa }}获取 而{{array_one}}是没有的
aaa: array_one
})
}
Array对象方法列表
第二种(这种比较好) 注意 var array_one=[ {aa:'1'} ] 这种才有效
// list_data data定义的数组
var that=this;
for (var ii = 0; res.data.data.length > ii; ii++) {
var adv = res.data.data.xxxx;
//数组输出 [{sex:1},{sex:2},...]
// var sexParam = "list_data[" + ii + "].sex"
//数组输出 [1,2,...]
var sexParam = "list_data[" + ii + "]"
that.setData({
[sexParam]: adv
})
//这种写法好像重新有数据空白 "list_data[" + ii + "]" 还是用第一种 我是做上拉数据重写发现的
}
//修改的数组
that.data.list_data[Index].sex= '修改了内容';
//再次渲染数据
that.setData({
list_data:that.data.list_data
});
//删除
//通过`index`识别要删除第几条数据,第二个数据为要删除的项目数量,通常为1
this.data.list_data.splice(Index,1);
//渲染数据
that.setData({
list_data:that.data.list_data
});
//清空 赋值为空就Ok了
that.setData({
list_data:[]
});
合并数组
//向前合并 --用newarray与this.data.list_data合拼
var newarray = ["444"];
that.data.list_data = newarray.concat(that.data.list_data);
that.setData({
list_data: that.data.list_data
})
//向后合并 --用newarray与this.data.list_data合拼
var newarray = ["444"];
that.data.list_data = that.data.list_data.concat(newarray);
that.setData({
list_data: that.data.list_data
})
补充 var array_one={aa:'1'}
Page({
data: {
list_A: {AA:"1", BB:"2"},
list_Aa: [{ AA: "1", BB: "2" }]
},
onLoad:function(){
var that=this
that.data.list_A.AA = '修改了内容';
that.setData({
list_A: that.data.list_A
})
console.log("zhi", that.data.list_A)
}
})