Как создать динамический объект в цикле? В принципе, я хочу создать один большой объект из многих объектов в JavaScript. Что-то вроде: var objects = {} for (x) objects.x = {name: etc} Любые идеи? Ответ 1 var objects = {}; for (var x = 0; x < 100; x++) { objects[x] = {name: etc}; } Ответ 2 Фактическая реализация Заполните объект контейнера со 100 другими объектами. <script> var container = { }; // main object // add 100 sub-object values for(i = 0; i < 100; ++i) { container['prop'+i ] /*property name or key of choice*/ = { 'a':'something', 'b':'somethingelse', 'c': 2 * i }; } ИСПЫТАТЬ Результаты - итерация и отображение объектов... for(var p in container) { var innerObj = container[p]; document.write('<div>container.' + p + ':' + innerObj + '</div>'); // write out properties of inner object document.write('<div> .a: ' + innerObj['a'] + '</div>'); document.write('<div> .b: ' + innerObj['b'] + '</div>'); document.write('<div> .c: ' + innerObj['c'] + '</div>'); } </script> Вывод похож на container.prop0:[object Object] .a: something .b: somethingelse .c: 0 container.prop1:[object Object] .a: something .b: somethingelse .c: 2 container.prop2:[object Object] .a: something .b: somethingelse .c: 4 и т.д... Ответ 3 Попробуйте это var objects = new Array(); var howmany = 10; for (var i = 0; i < howmany; i++) { objects[i] = new Object(); } Ответ 4 Из того, что я понимаю, вы хотели бы сохранить несколько {name: etc} на большой объект, а это значит, что вы смотрите на массив. var objects = new Array(); for(x) { objects.push(name: etc); } как для whats в скобках цикла for, все зависит от того, что вы хотите сделать точно.
Ответ 2 Фактическая реализация Заполните объект контейнера со 100 другими объектами. <script> var container = { }; // main object // add 100 sub-object values for(i = 0; i < 100; ++i) { container['prop'+i ] /*property name or key of choice*/ = { 'a':'something', 'b':'somethingelse', 'c': 2 * i }; } ИСПЫТАТЬ Результаты - итерация и отображение объектов... for(var p in container) { var innerObj = container[p]; document.write('<div>container.' + p + ':' + innerObj + '</div>'); // write out properties of inner object document.write('<div> .a: ' + innerObj['a'] + '</div>'); document.write('<div> .b: ' + innerObj['b'] + '</div>'); document.write('<div> .c: ' + innerObj['c'] + '</div>'); } </script> Вывод похож на container.prop0:[object Object] .a: something .b: somethingelse .c: 0 container.prop1:[object Object] .a: something .b: somethingelse .c: 2 container.prop2:[object Object] .a: something .b: somethingelse .c: 4 и т.д...
Ответ 3 Попробуйте это var objects = new Array(); var howmany = 10; for (var i = 0; i < howmany; i++) { objects[i] = new Object(); }
Ответ 4 Из того, что я понимаю, вы хотели бы сохранить несколько {name: etc} на большой объект, а это значит, что вы смотрите на массив. var objects = new Array(); for(x) { objects.push(name: etc); } как для whats в скобках цикла for, все зависит от того, что вы хотите сделать точно.