How to create a dynamic object in a loop?
Basically I want to create one large object of many object in JavaScript. Something like:
var ob开发者_JAVA百科jects = {}
for (x)
objects.x = {name: etc}
Any ideas?
var objects = {};
for (var x = 0; x < 100; x++) {
objects[x] = {name: etc};
}
An actual implementation
Populate a container object with 100 other objects.
<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
};
}
TEST THE Results - iterate and display objects...
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>
Output is like
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
etc...
Using object[propertyname]
is the same as using object.propertyname
and hence we can dynamically create object keys with object[propertyname]
format
for eg:
var fruits = ["Apple", "Orange", "Banana","Grapes"];
var colors = ["red", "Orange", "yellow","blue"];
var newObj = {};
for (var i = 0; i < fruits.length; i++) {
newObj[fruits[i]] = colors[i];
}
console.log(newObj);
Try this
var objects = new Array();
var howmany = 10;
for (var i = 0; i < howmany; i++)
{
objects[i] = new Object();
}
//On Nested Obj like that
var playersCount = {
"Players" : {}
}
var exempleCount = 5;
for(i=0; i <= exempleCount;i++){
var BadID = Math.floor(Math.random() * 10000);
playersCount.Players["Player_"+i] = {
"id":BadID,
"xPos":0,
"yPos":0,
"zPos":0
};
}
console.log(playersCount);
精彩评论