我想在Javascript中动态创建这个结构:
var myCols = [
{data1: 'A', data2: '0', data3: 1},
{data1: 'B', data2: '1', data3: 1},
{data1: 'C', data2: '2', data3: 1}
];
我该怎么做?
先谢谢你。
答案 0 :(得分:1)
你的问题很模糊。动态生成动态的方法有很多种。如何操作取决于您开始使用的数据以及创建它的方式和时间。例如,您可以在数据库查询后在服务器端动态生成上述代码,或者您可以使用类似此循环的东西生成它,这将通过data1中的更多字母和data2中的更多数字(作为字符串)来拥有它们增加3到小于或等于26的东西。
var myCols = [];
var myData, i;
for(i = 0; i < 3; i++){
myData = {};
myData.data1 = String.fromCharCode(65 + i);
myData.data2 = "" + i;
myData.data3 = 1;
myCols.push(myData);
}
答案 1 :(得分:0)
// Create empty array
var myCols = [];
// Add items at a later time to the array using push
myCols.push( {data1: 'A', data2: '0', data3: 1});
// ... (repeat pushing more items)
答案 2 :(得分:0)
使用数组对象的push方法可以像
一样使用它var anarr = []或var anarr = new Array();
然后你可以使用
将元素逐个推送到数组anarr.push(值);
其中值可以是任何值。
尝试了解以下代码。
var keys = ['data1','data2','data3'];
var arr = new Array();
function add(a,b,c){
temp_dict = {}
temp_dict[keys[0]]=a
temp_dict[keys[1]]=b
temp_dict[keys[2]]=c
arr.push(temp_dict);
}
add('A','0',1);
add('B','1',1);
add('C','2',1);
console.log(arr);