在Javascript中创建一个对象数组

时间:2012-03-19 17:00:03

标签: javascript object dynamic-arrays

我想在Javascript中动态创建这个结构:

var myCols = [
  {data1: 'A', data2: '0', data3: 1},
  {data1: 'B', data2: '1', data3: 1},
  {data1: 'C', data2: '2', data3: 1}
];

我该怎么做?

先谢谢你。

3 个答案:

答案 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)

这是什么意思?使用push将“动态”项添加到数组中。

// 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);