如何在for循环中的新对象中插入数据?

时间:2013-12-04 08:08:01

标签: javascript jquery

这可能吗?当我尝试这样做时,输出不是我所期望的。赫雷斯是

var data = 10,
    test = new Array;

for (var i = 0; i < data; i++) {
  test = {
       i : {
        'Title' : 'Title-Data',
        'optionFilter' : {
          'AssetClass' : 'AssetClass-Data',
          'Region' : 'Region-Data',
          'Style' : 'Style-Data',
          'TypeofClient' : 'TypeofClient-Data'
        }
      },
  }
};

console.log( test );

谢谢,))

2 个答案:

答案 0 :(得分:5)

由于test是一个数组,所以只需使用push方法。

for (var i = 0; i < data; i++) {
  test.push({
        'Title' : 'Title-Data',
        'optionFilter' : {
          'AssetClass' : 'AssetClass-Data',
          'Region' : 'Region-Data',
          'Style' : 'Style-Data',
          'TypeofClient' : 'TypeofClient-Data'
        }
      });
}

如果你想要实现与对象类似的东西,它看起来会像这样:

var data = 10,
    test = {};

for (var i = 0; i < data; i++) {
  test[i] = {
        'Title' : 'Title-Data',
        'optionFilter' : {
          'AssetClass' : 'AssetClass-Data',
          'Region' : 'Region-Data',
          'Style' : 'Style-Data',
          'TypeofClient' : 'TypeofClient-Data'
        }
      };
}

答案 1 :(得分:2)

最好使用new Array()vat test = [];声明一个数组,然后使用push方法填充数组

    var data = 10,
        test = new Array();

    for (var i = 0; i < data; i++) {
      test.push({           
            'Title' : 'Title-Data',
            'optionFilter' : {
                 'AssetClass' : 'AssetClass-Data',
                 'Region' : 'Region-Data',
                 'Style' : 'Style-Data',
                 'TypeofClient' : 'TypeofClient-Data' 
             }          
          });
   }