2014-01-09 4 views
0

Ниже приведен код, похожий на данный момент, с меньшим количеством строк и меньшим количеством свойств.Как я могу создать цикл создания объектов?

var row1 = new Object(); 
var row2 = new Object(); 
var row3 = new Object(); 
var row4 = new Object(); 
var row5 = new Object(); 
var row6 = new Object(); 
var row7 = new Object(); 
row1.name = "Hello World!"; 
alert (row1.name); 

Этот код ниже, не работает надлежащим образом, потому что строка не является примитивным, но мне нужно сделать что-то вроде этого, потому что у меня есть миллиард строк переменные.

var row = []; 
var row1 = []; 
var row2 = []; 
var row3 = []; 
row.push(1); 
row[1].name = "Hello World"; 
alert(row[1].name); 

Как я могу это сделать, если это вообще возможно?

+0

1 миллиард переменных строки ?? Не уверен, что javascript будет обрабатывать многие объекты. Вам просто нужен массив объектов? Образец 1 должен работать. Во втором примере кода вы нажимаете целое число на массив. Затем попытка добавить свойство. целые числа не могут иметь дополнительных свойств. –

ответ

1
var rows = []; 
for(var i = 0; i < 7; i++) 
{   
    rows.push(new Object()); 
} 
rows[0].name = "Hello World!"; 
alert(rows[0].name); 
0

Вы можете создавать собственные сложные объекты в JavaScript, как это:

//complex object 
ComplexObj = function(){ 
    var self = { 
     'prop1': 'value1', 
     'prop2': 'value2', 
     'prop3': { 
      'subprop1': 'subvalue1', 
      'subprop2': 'subvalue2' 
     }, 
     'prop4': [ 
      1, 2, 3, 4 
     ] 
    }; 

    return self; 
}; 

//code that creates instances of the complex object 
var rows = []; 
var newObj1 = new ComplexObj(); 
newObj1.prop1 = 'newvalue1'; 

var newObj2 = new ComplexObj(); 
newObj2.prop3.subprop2 = 'newsubvalue2'; 

rows.push(newObj1); 
rows.push(newObj2); 

for (var i = 0; i < rows.length; i++){ 
    alert('row' + i + ': prop1=' + rows[i].prop1 + ' subprop2=' + rows[i].prop3.subprop2); 
} 

Вы можете посмотреть демо здесь. Обратите внимание, что я обновляю newObj1.prop1 и newObj2.prop3.subprop2, чтобы показать, что newObj1 и newObj2 являются разными экземплярами ComplexObj.

http://jsfiddle.net/p5evg/1/

Смежные вопросы