我有这种格式的数组。
rowData[0] = addRow(aa);
rowData[1] = addRow(aaa);
rowData[2] = addRow(aa);
rowData[3] = addRow(aa);
addRow是一个获取此值进程的函数。但是我不想给出数组索引,而是我想给出rowData [i],然后放入循环并访问元素。
rowData保存addRow返回的对象。
var data = [rowData];
var table = Ti.UI.createTableView({
data:data
});
答案 0 :(得分:2)
使用Array.push函数存储数据:
rowData.push(addRow(aa));
rowData.push(addRow(aaa));
.
.
.
.
.
另一种选择是:
rowData[rowData.length] = addRow(aa);
rowData[rowData.length] = addRow(aaa);
.
.
.
.
.
使用基于常规索引的迭代来获取数据:
for(var i=0; i< rowData.length; i++){
var curItem = rowData[i];
}
答案 1 :(得分:1)
for (var i = 0; i < rowData.length; i++)
{
rowData[i] = addRow(aa);
}
答案 2 :(得分:1)
var rowData = {};
rowData[aa] = addRow(aa);
rowData[aaa] = addRow(aaa);
用于循环访问
for(var index in rowData){
var data = rowData[index]
...
}
答案 3 :(得分:1)
在您的情况下,循环可能不可行。这可能是一个想法:您可以重写Array.push原型方法:
Array.prototype._push = Array.prototype.push;
Array.prototype.push = function(val){ this._push(val); return this;};
之后你可以链接推送操作:
rowData.push(addRow(aa))
.push(addRow(aaa))
.push(addRow(aa))
.push(addRow(aa));
但实际上,看起来你正在将数组与对象混合在一起。 Here's an answer我之前提到过这个问题。